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,请添加 -sharedgcc CB.c -shared -lssl -lcrypto