GCC - 编译 C 对 `wWinMain' 的未定义引用
GCC - Compiling C undefined reference to `wWinMain'
我试图在命令提示符下使用 gcc 编译 C,但我收到了对 `wWinMain' 的未定义引用错误。
我首先得到对 WinMain 的未定义引用,但我通过添加参数解决了这个问题:
-municode
现在 `wWinMain' 未定义。如何解决这个问题?
C:\Development\WA\Library\Backend\C\CB\CB>gcc CB.c -lssl -lcrypto -municode
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_w.o):crt0_w.c:(.text+0x21): undefined reference to `wWinMain'
collect2.exe: error: ld returned 1 exit status
gcc CB.c -lssl -lcrypto
将编译和 link 一个 应用程序 ,它在 Windows 上默认为入口点为 WinMain
(您的图书馆显然没有也不需要)。
添加-municode
只是指示系统使用windows unicode API然后入口点变为wWinMain
,你仍然有同样的问题。
要构建 DLL,请添加 -shared
:gcc CB.c -shared -lssl -lcrypto
我试图在命令提示符下使用 gcc 编译 C,但我收到了对 `wWinMain' 的未定义引用错误。
我首先得到对 WinMain 的未定义引用,但我通过添加参数解决了这个问题:
-municode
现在 `wWinMain' 未定义。如何解决这个问题?
C:\Development\WA\Library\Backend\C\CB\CB>gcc CB.c -lssl -lcrypto -municode
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe:
C:/Strawberry/c/bin/../lib/gcc/x86_64-w64-mingw32/8.3.0/../../../../x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_w.o):crt0_w.c:(.text+0x21): undefined reference to `wWinMain'
collect2.exe: error: ld returned 1 exit status
gcc CB.c -lssl -lcrypto
将编译和 link 一个 应用程序 ,它在 Windows 上默认为入口点为 WinMain
(您的图书馆显然没有也不需要)。
添加-municode
只是指示系统使用windows unicode API然后入口点变为wWinMain
,你仍然有同样的问题。
要构建 DLL,请添加 -shared
:gcc CB.c -shared -lssl -lcrypto