Opencv + Boost:未定义的引用
Opencv + Boost: Undefined references
我有一个计算机视觉源代码,是有关找到复制和移动部分在伪造的图像。我无法编译使用openCV和Boost的源代码,一些错误包括对openCV的未定义引用,例如:
main.cpp:(.text+0x3cc1): undefined reference to `cvSetZero'
我的makefile如下。我认为我正确地指出了boost和openv库。会出什么问题呢?
# Boost library is required
BOOST_LIBS=-L/usr/include/boost -lboost_system -lboost_random
BOOST_INCLUDE=-I/usr/include/boost
BOOST_VERSION=103500
OPENCV_INCLUDE=-I/usr/include/opencv2/
OPENCV_LIBS=-L/usr/include/opencv2/ -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_flann -lopencv_calib3d
OPENCV_LIBS=-L/usr/lib/opencv2/ -lopencv_core ...
^^^
您可能需要检查OpenCV是否正确安装以及该安装位于何处。之后,您可以调整您的makefile。这取决于你的操作系统。
。在Linux上,您可能想要搜索opencv_core.so
(例如通过locate -b opencv_core
)。
在我的例子中是
OPENCV_LIBS=-L/usr/lib/ -lopencv_core
如果你已经安装了pkg-config
,如果它知道OpenCV在哪里,你可以尝试
OPENCV_INCLUDE=$$(pkg-config --cflags opencv)
OPENCV_LIBS=$$(pkg-config --libs opencv)
相关文章:
- 编译C++时未定义的引用
- 如何修复此错误:未定义对"距离(浮点数,浮点数,浮点数,浮点数,浮点数)"的引用
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- 对C宏的未定义引用,但在定义它时会出现重新定义错误
- 未定义的引用在哪里
- 编译时的 CImg 库返回对"__imp_SetDIBitsToDevice"的未定义引用
- 对Py_Initialize()的未定义引用
- 使用mysql c++连接器的未定义引用
- 未定义的引用 .. 使用 OpenCV 编译 C++ 代码时,从命令行
- 对 Scalar ::Scalar() 的未定义引用
- 已定义函数时出现 G++ "未定义的引用"错误
- 链接 cmake 时出现未定义的引用错误
- 对复制 CTOR 和 CTOR 的未定义引用
- 错误:未定义对'oboe::AudioStreamBuilder::openStream(oboe::AudioStream**)'的引用
- 右值引用未定义的行为
- 对"vtable for DigitalClock"的未定义引用 - 未定义对"DigitalClock::staticMetaObject"的引用 - Qt
- 函数类型到函数类型的引用:未定义的引用
- avcodec_alloc_context引用未定义,但ffmpeg链接顺序正确
- 从c++调用Fortran子程序,链接时引用未定义
- 枚举引用未定义,但位于包含的头文件中