【发布时间】:2017-11-07 11:30:03
【问题描述】:
对于大学,我需要在 eclipse 中使用 Opencv (version 3.1.0) 制作一些 c++ 项目。 我已经链接了opencv的include和库,就像教程中建议的那样,eclipse确实正确地突出了变量。
但是一旦我尝试编译项目,我就会收到以下错误:
g++ -L"C:\opencv\build\x64\vc14\lib" -o "DisplayImage2" ./src/DisplayImage.o -lopencv_world310 -lopencv_world310d
C:\Users\eclipse-cc-workspace\DisplayImage2\Debug/../src/DisplayImage.cpp:11: 对 `cv::imread(cv::String const&, int)' 的未定义引用
C:/opencv/build/include/opencv2/core/cvstd.hpp:625: 未定义 引用`cv::String::allocate(unsigned long long)'
opencv 中定义的任何运算符都相同,而不仅仅是 imread。
从我到目前为止收集到的信息来看,如果库-lopencv_imgcodecs 和类似的库未在其他版本的 Opencv 中链接,则会发生这些错误。
但是在 310 windows 版本上没有这些库。唯一一个我已经链接的opencv_world310 和opencv_world310d。
所以我不知道为什么gnu编译器找不到声明。
我尝试了其他版本的 opencv,但所有 310 以上(我需要)都只有 opencv_world 作为它们的组合库。
任何帮助将不胜感激。
【问题讨论】:
-
不确定这是否能解决问题,但肯定是错误的:您正在链接调试和发布库,您应该将带有
d的一个链接到调试版本,另一个链接到发布版本。 -
我只用 opencv_world310 试过了,但也没有用:(
标签: c++ windows eclipse opencv compiler-errors