对WinMain的未定义引用(C ++ Mingw)

wuzipu

目前,我正在尝试使用c ++制作Windows应用程序。为了编译我的程序,我使用Mingw GCC。顺便说一句,我在Windows 10上。但是,一旦我使用它int WINAPI wWinMain(HINSTANCE hInstance, HINSTANCE, PWSTR pCmdLine, int nCmdShow)而不是int main()编译器,就会显示以下消息:

C:/ mingw-w64 / mingw64 / bin /../ lib / gcc / x86_64-w64-mingw32 / 8.1.0 /../../../../ x86_64-w64-mingw32 / lib / .. /lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o):crt0_c.c:(.text.startup+0x2e):对WinMain的未定义引用collect2.exe:错误:ld返回1退出状态终端进程终止于退出代码:1

我尝试编译的示例代码是从此Windows应用程序教程中获得的:示例代码

我已经尝试过重新安装mingw,但没有帮助。这就是为什么我希望这里有人可以帮助我解决我的问题。先感谢您!

丹尼尔·森克

此示例代码使用wWinMain

需要注意的一件事是Visual C ++支持“ wWinMain”入口点,其中“ lpCmdLine”参数是“ LPWSTR”。通常,您将对入口点使用“ _tWinMain”预处理程序定义,并声明“ LPTSTR lpCmdLine”,以便可以轻松支持ANSI和Unicode构建。但是,MinGW CRT启动库不支持wWinMain,因此,如果需要访问命令行参数,则必须坚持使用标准的“ WinMain”并使用“ GetCommandLine()”。

通过使用MinGW构建Win32 GUI应用程序

在这种特定情况下,您可以WinMain改用。这个程序不使用pCmdLine的值,所以当你改变它应编译wWinMainWinMainPWSTR pCmdLinePSTR pCmdLine

如果以后需要unicode命令行,请使用LPWSTR cmd_line = GetCommandLineW();而不是WinMain参数。

较新的Mingw版本还支持将-municode链接器选项切换到备用启动代码,从而允许使用wWinMain代替WinMain(或wmain代替main)。将其添加到命令行,IDE或makefile中的链接器选项。

g++ other_options_and_arguments -municode

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

带有Eclipse CDT + MinGW + GLEW + GLFW的OpenGL:未定义的引用

来自分类Dev

仅使用MinGW GCC的未定义引用

来自分类Dev

Cygwin中对WinMain的未定义引用

来自分类Dev

使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

来自分类Dev

MinGW“对IMG_Load / IMG_Init / IMG_Quit的未定义引用” LazyFoo

来自分类Dev

在Windows中使用带有CLion的CMake(mingw)在C ++中未定义的Qt5引用

来自分类Dev

使用mingw编译websocketpp示例代码时未定义对`std :: errc :: operation_canceled`的引用

来自分类Dev

MinGw VC DLL中C ++符号的未定义符号

来自分类Dev

C编程未定义对“ WinMain @ 16”的引用

来自分类Dev

在Mingw32中未定义对“ SDL_main”的引用

来自分类Dev

MinGW / CMake对ZLib的未定义引用

来自分类Dev

使用MinGW使用网络代码编译简单的C ++ SFML文件会引发错误“对IpAddress的未定义引用”

来自分类Dev

与Mingw创建OpenCV 3.1的共享版本时对cv :: redirectError的未定义引用

来自分类Dev

错误对“ WinMain @ 16”的未定义引用

来自分类Dev

带有x86-64-w64-mingw32-g ++未定义引用的libcurl。g ++工作正常

来自分类Dev

(C ++)使用g ++返回“对WinMain @ 16的未定义引用”的Win32 API示例代码

来自分类Dev

在Windows中使用CMake(mingw)在Qt5.14.0 static中未定义的引用

来自分类Dev

带有mingw32的SFML2静态链接错误:未定义的引用

来自分类Dev

MinGW Win32 + nasm:“未定义参考”

来自分类Dev

w64-Mingw LLVMSupport.a:对__imp_ *的未定义引用

来自分类Dev

使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

来自分类Dev

MinGW“对IMG_Load / IMG_Init / IMG_Quit的未定义引用” LazyFoo

来自分类Dev

未定义对'WinMain @ 16'的引用(C ++)

来自分类Dev

未定义对函数“ check”的引用(MinGW中的GCC编译)

来自分类Dev

未定义引用'WinMain @ 16'minGW32-make错误

来自分类Dev

未定义参考c ++ mingw32

来自分类Dev

与Mingw创建OpenCV 3.1的共享版本时对cv :: redirectError的未定义引用

来自分类Dev

SDL2未定义对MinGW几个功能的引用

来自分类Dev

Libcurl编译错误:“对'__mingw_basename'的未定义引用”

Related 相关文章

  1. 1

    带有Eclipse CDT + MinGW + GLEW + GLFW的OpenGL:未定义的引用

  2. 2

    仅使用MinGW GCC的未定义引用

  3. 3

    Cygwin中对WinMain的未定义引用

  4. 4

    使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

  5. 5

    MinGW“对IMG_Load / IMG_Init / IMG_Quit的未定义引用” LazyFoo

  6. 6

    在Windows中使用带有CLion的CMake(mingw)在C ++中未定义的Qt5引用

  7. 7

    使用mingw编译websocketpp示例代码时未定义对`std :: errc :: operation_canceled`的引用

  8. 8

    MinGw VC DLL中C ++符号的未定义符号

  9. 9

    C编程未定义对“ WinMain @ 16”的引用

  10. 10

    在Mingw32中未定义对“ SDL_main”的引用

  11. 11

    MinGW / CMake对ZLib的未定义引用

  12. 12

    使用MinGW使用网络代码编译简单的C ++ SFML文件会引发错误“对IpAddress的未定义引用”

  13. 13

    与Mingw创建OpenCV 3.1的共享版本时对cv :: redirectError的未定义引用

  14. 14

    错误对“ WinMain @ 16”的未定义引用

  15. 15

    带有x86-64-w64-mingw32-g ++未定义引用的libcurl。g ++工作正常

  16. 16

    (C ++)使用g ++返回“对WinMain @ 16的未定义引用”的Win32 API示例代码

  17. 17

    在Windows中使用CMake(mingw)在Qt5.14.0 static中未定义的引用

  18. 18

    带有mingw32的SFML2静态链接错误:未定义的引用

  19. 19

    MinGW Win32 + nasm:“未定义参考”

  20. 20

    w64-Mingw LLVMSupport.a:对__imp_ *的未定义引用

  21. 21

    使用协议缓冲区的程序无法使用MinGW-w64进行编译:“对google :: protobuf :: ...的未定义引用”

  22. 22

    MinGW“对IMG_Load / IMG_Init / IMG_Quit的未定义引用” LazyFoo

  23. 23

    未定义对'WinMain @ 16'的引用(C ++)

  24. 24

    未定义对函数“ check”的引用(MinGW中的GCC编译)

  25. 25

    未定义引用'WinMain @ 16'minGW32-make错误

  26. 26

    未定义参考c ++ mingw32

  27. 27

    与Mingw创建OpenCV 3.1的共享版本时对cv :: redirectError的未定义引用

  28. 28

    SDL2未定义对MinGW几个功能的引用

  29. 29

    Libcurl编译错误:“对'__mingw_basename'的未定义引用”

热门标签

归档