我收到这个错误:
D:\Users\JF150696\AppData\Local\Temp\ccrDYwyp.o Source2.cpp:(.text+0xdf): undefined reference to `cv::imread(std::string const&, int)'
D:\Users\JF150696\AppData\Local\Temp\ccrDYwyp.o Source2.cpp:(.text+0xdec): undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
D:\Users\JF150696\AppData\Local\Temp\ccrDYwyp.o Source2.cpp:(.text+0xe41): undefined reference to `cv::imwrite(std::string const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
d:\devc\dev-cpp\mingw64\x86_64-w64-mingw32\bin\ld.exe D:\Users\JF150696\AppData\Local\Temp\ccrDYwyp.o: bad reloc address 0x20 in section `.text$_ZSt4sqrtf[__ZSt4sqrtf]'
D:\devc\opencv\projekty\test 3 opencv\test 3 opencv\collect2.exe [Error] ld returned 1 exit status
我在 Dev Options 中做了什么:
我已将此命令行添加到编译器:
-L"C:\opencv\build\x86\vc11\lib"-lopencv_highgui248 -lopencv_core248 -lopencv_imgproc248 -lopencv_calib3d248 -lopencv_video248 -lopencv_features2d248 -lopencv_ml248 -lopencv_highgui248 -lopencv_objdetect248 -lopencv_contrib248 -lopencv_legacy248 -lopencv_flann248
链接器选项的 channel :
-static-libgcc -lopencv_highgui248 -lopencv_core248 -lopencv_imgproc248 -lopencv_calib3d248 -lopencv_video248 -lopencv_features2d248 -lopencv_ml248 -lopencv_highgui248 -lopencv_objdetect248 -lopencv_contrib248 -lopencv_legacy_248 -lopenc/2>
在我添加的目录中:
二进制文件:
D:\devc\opencv\build\x86\vc11\bin
库:
D:\devc\opencv\build\x86\vc11\lib
头文件 C:
D:\devc\opencv\build\include\opencv2
D:\devc\opencv\build\include\opencv
D:\devc\opencv\build\include
header C++:同上
我已将 opencv 路径
D:\devc\opencv
添加到 PATH 变量我的开发 C++ 版本是:5.7.0,OpenCV:2.4.8
有人知道怎么解决吗?
编辑
同样的问题使用 CodeBlock
最佳答案
您是否正确地将 Source2 链接到 collect2? Source2.cpp 应该在与您的主程序链接之前编译成目标文件。
关于c++ - 尝试在 Dev C++ 上编译 OpenCV 项目时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24880971/