未定义对“WinMain@16”的引用
undefined reference to `WinMain@16
我正在尝试将openCV安装到Eclipse C++。我安装了Opencv并添加了路径和库文件,但是我得到了
**** Rebuild of configuration Debug for project test ****
**** Internal Builder is used for build ****
g++ -IC:opencvbuildinclude -O0 -g3 -Wall -c -fmessage-length=0 -osrcmain.o ..srcmain.cpp
g++ -LC:opencvbuildx86vc10lib -LC:opencvbuildx86vc11lib -otest.exe srcmain.o -lopencv_core247 -lopencv_core247d -lopencv_highgui247 -lopencv_highgui247d -lopencv_imgproc247 -lopencv_imgproc247d
C:/MinGW/i686-pc-mingw32/lib/libmingw32.a(lib32_libmingw32_a-crt0_c.o):crt0_c.c:(.text+0x3c): undefined reference to `WinMain@16'
collect2.exe: error: ld returned 1 exit status
Build error occurred, build is stopped
我知道这个问题以前有人问过,但在每一个答案中,答案都是"忘记包含main()函数"。但是我有一个main()函数,但我仍然收到此错误。
你知道我该怎么办吗?
链接器可能默认使用"Windows"子系统,这意味着主入口点不是您期望的"主"符号,而是"WinMain"。
可以通过在 g++ 命令行传递以下参数来指定应用程序的子系统:
-Wl,-subsystem,console
(仅供参考,对于"Windows"子系统,您将使用-Wl,-subsystem,windows
)
您也可以在链接器配置的 Eclipse 项目设置中设置它,我相信。
基本上,顾名思义,"控制台"创建一个基于控制台的应用程序,其默认入口点是主函数,另一个将创建一个Windows GUI应用程序,其默认入口点是WinMain函数。
请试一试:)
相关文章:
- Visual Studio Code "undefined reference to `WinMain@16'"
- "未定义对'WinMain@16'的引用"gcc 编辑器中的错误
- 我无法弄清楚"对Winmain@16错误的未定义引用"
- 使用 C++17 标准对"WinMain@16"的未定义引用
- 二叉树无法编译:错误'WinMain@16'
- 对'WinMain@16'的未定义引用 (C++)
- 尝试使用类文件,出现"undefined reference to `WinMain@16'"错误
- 未定义对“WinMain@16”的引用
- 对WinMain@16 - 代码块的未定义引用
- CodeBlocks未定义对的引用WinMain@16.
- 未定义对"WinMain@16"的引用?
- GNU GCC:尝试编译发行版时对"WinMain@16"的未定义引用(代码::Blocks)
- c++代码块错误:对SDL_PollEvent和WinMain@16的未定义引用
- 对Qt和C-Lion的"WinMain@16"的未定义引用
- SDL 2 对"WinMain@16"和多个 SDL 函数的未定义引用
- c++中对WinMain@16的未定义引用
- 对"WinMain@16"的未定义引用
- c++ -对' WinMain@16. '的未定义引用
- block, MinGW, libsdl和GNU c++编译器:对' WinMain@16的未定义引用
- 对的未定义引用WinMain@16和未知的杂注