[英]eclipse opencv 3.1.0 library compiler issues on Windows
对于大学,我需要在 Eclipse 中使用Opencv(3.1.0 版)制作一些 C++ 项目。 我已经像教程中建议的那样链接了 opencv 的包含和库,并且 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
,如果库-lopencv_imgcodecs
和类似库未在其他版本的-lopencv_imgcodecs
中链接, -lopencv_imgcodecs
发生这些错误。 但是在 310 windows 版本上没有这些库中的任何一个。 唯一的一个是我已经链接的opencv_world310
和opencv_world310d
。 所以我不知道为什么 gnu 编译器找不到声明。
我尝试了其他版本的 opencv,但所有 310 以上(我需要的)只有 opencv_world 作为它们的组合库。
任何帮助,将不胜感激。
我和你有同样的问题,我搜索并尝试了很多,最后得出了一个结论。 好像g++不能和opencv_world310一起工作,但是MSVC cl.exe可以直接链接opencv_world310,效果很好。 如果你想使用 g++,你应该先使用 cmake 和 opencv 源文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.