我首先要说的是,我对编译语言没有太多经验,这可能很明显,但我已经花了几个小时的时间进行了搜索,结果一无所获。
我正试图在Eclipse中构建这个项目。我已经构建并导入了OpenCV3.1,在我开始构建项目之前,一切似乎都很好。在这一点上,我收到了一系列错误消息,说我有"未定义的引用"。
例如:
C:devopencvbuildx64mingw_slib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL15icvRemoveWindowP8CvWindow+0x11b): undefined reference to `SelectObject@8'
C:devopencvbuildx64mingw_slib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL15icvRemoveWindowP8CvWindow+0x126): undefined reference to `DeleteObject@4'
C:devopencvbuildx64mingw_slib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL15icvRemoveWindowP8CvWindow+0x138): undefined reference to `DeleteDC@4'
C:devopencvbuildx64mingw_slib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL16icvGetBitmapDataP8CvWindowP7tagSIZEPiPPv.isra.0+0x1e): undefined reference to `GdiFlush@0'
C:devopencvbuildx64mingw_slib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL16icvGetBitmapDataP8CvWindowP7tagSIZEPiPPv.isra.0+0x32): undefined reference to `GetCurrentObject@8'
C:devopencvbuildx64mingw_slib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL16icvGetBitmapDataP8CvWindowP7tagSIZEPiPPv.isra.0+0x6d): undefined reference to `GetObjectA@12'
这里有完整的控制台输出。
从我所看到的情况来看,这个错误的原因通常是多种多样的,也许我的案件的具体情况可以给出更准确的答案。
我有一种感觉,我没有正确地导入一些东西,或者没有设置一个合适的标志,但我不知道它是什么,也不知道如何完成它。任何帮助都将不胜感激。
Matt
所有丢失的函数都在Gdi32.lib中搜索"msdnSelectObject"(例如)-向下滚动到需求添加丢失的库到项目
--Richard Critten 的评论