我正在尝试将openCV安装到Eclipse C ++。我安装了Opencv并对路径和lib文件进行了修改,但是我得到了
**** Rebuild of configuration Debug for project test ****
**** Internal Builder is used for build ****
g++ -IC:\opencv\build\include -O0 -g3 -Wall -c -fmessage-length=0 -osrc\main.o ..\src\main.cpp
g++ -LC:\opencv\build\x86\vc10\lib -LC:\opencv\build\x86\vc11\lib -otest.exe src\main.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()函数,我仍然得到这个错误。
你知道我该怎么办?
答案 0 :(得分:0)
链接器可能默认使用“Windows”子系统,这意味着主入口点不是您期望的“主要”符号,而是“WinMain”。
您可以通过在g ++命令行中传递以下参数来指定应用程序的子系统:
-Wl,-subsystem,console
(仅供参考,对于“Windows”子系统,您使用-Wl,-subsystem,windows
)
您也可以在我相信的链接器配置中的Eclipse项目设置中设置它。
基本上,“控制台”,顾名思义,创建一个基于控制台的应用程序,其默认入口点是主要功能,另一个将创建一个Windows GUI应用程序,其默认入口点是WinMain函数。 / p>
请试一试:)