首先我会说我对编译语言一点经验都没有,这可能是显而易见的,但我已经做了几个小时的搜索并且空手而归。
我正在尝试构建 this Eclipse 中的项目。我已经构建并导入了 OpenCV 3.1,在我开始构建项目之前一切似乎都还不错。那时我收到大量错误消息,说我有“ undefined reference ”。
例如:
C:\dev\opencv\build\x64\mingw_s\lib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL15icvRemoveWindowP8CvWindow+0x11b): undefined reference to `SelectObject@8'
C:\dev\opencv\build\x64\mingw_s\lib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL15icvRemoveWindowP8CvWindow+0x126): undefined reference to `DeleteObject@4'
C:\dev\opencv\build\x64\mingw_s\lib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL15icvRemoveWindowP8CvWindow+0x138): undefined reference to `DeleteDC@4'
C:\dev\opencv\build\x64\mingw_s\lib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL16icvGetBitmapDataP8CvWindowP7tagSIZEPiPPv.isra.0+0x1e): undefined reference to `GdiFlush@0'
C:\dev\opencv\build\x64\mingw_s\lib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL16icvGetBitmapDataP8CvWindowP7tagSIZEPiPPv.isra.0+0x32): undefined reference to `GetCurrentObject@8'
C:\dev\opencv\build\x64\mingw_s\lib/libopencv_highgui310.a(window_w32.cpp.obj):window_w32.cpp:(.text$_ZL16icvGetBitmapDataP8CvWindowP7tagSIZEPiPPv.isra.0+0x6d): undefined reference to `GetObjectA@12'
完整的控制台输出是 here .
据我所知,一般情况下导致此错误的原因可能多种多样,也许我的案例的具体情况可以提供更准确的答案。
我感觉我没有正确导入某些东西,或者没有设置适当的标志,但我不知道它是什么,也不知道如何完成它。任何帮助将不胜感激。
马特
最佳答案
All your missing functions are in Gdi32.lib Search "msdn SelectObject" (for example) - scroll down to requirements add missing libraries to project
-- comment作者:理查德·克里顿
关于c++ - 在 Eclipse 中使用 OpenCV 在 C++ 项目中构建错误 : undefined reference to `SelectObject@8' + many others,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38605797/