如何在 CentOS 中链接 OpenCV 库
How to link OpenCV library in CentOS
我在编译测试文件时收到此错误:
undefined reference to cv::imread(cv::String const&, int)
undefined reference to cv::imshow(cv::String const&, cv::_InputArray const&)
我的代码是:
#include <opencv2/opencv.hpp>
int ImageShow() {
const char* filename = "/home/users/wuchang.li/000001.jpg";
cv::Mat src = cv::imread(filename, CV_LOAD_IMAGE_GRAYSCALE);
cv::imshow("src", src);
cv::waitKey();
return 0;
}
int main(){
ImageShow();
return 0;
}
我尝试了几种方法:
我使用过:
g++ test.cpp -o getmask `pkg-config opencv --cflags --libs`
然后使用:
g++ test.cpp -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect
我无权修改文件/etc/ld.so.conf.d/opencv.conf
我确定我的包含路径和库路径是正确的。
使用链接器-L
标志时,表示共享库位于非标准位置。该标志使它成为链接,但运行时链接器ld.so
找不到共享库。
除了-L<dir>
在链接共享库时使用-Wl,-rpath=<dir>
。
请勿使用LD_LIBRARY_PATH
,有关详细信息,请参阅LD_LIBRARY_PATH被认为有害。
编译时,请始终使用-Wall -Wextra -Werror
以防止编译时出现错误。
相关文章:
- 如何在 CentOS 中链接 OpenCV 库
- 用于链接 OpenCV 和现有库的生成文件(不使用 cmake)
- CMAKE:导入时链接 OpenCV 失败
- Android Studio 2.2链接OPENCV静态库
- 使用 cmake 在项目中链接 Opencv
- 在 xcode 中编译和链接 OpenCV 3.0.0 时出现问题
- 在Windows上运行的Eclipse上静态链接OpenCV
- 在 CodeBlock 中链接 OpenCV 库失败
- Android Studio链接OpenCV静态库
- LNK1104:链接 openCV 时无法打开文件 'kernel32.lib'
- 链接OpenCV 3.0.库到QT创建者
- 链接OpenCV库与Qt creator在ubuntu上
- 如何创建*.所以文件动态链接OpenCV为Android
- 在Eclipse Windows中链接OpenCV静态库
- 如何在QtCreator中链接opencv并使用Qt库
- 链接openCV到cleon项目
- 链接OpenCV gpu::立体声样本错误
- CMake链接opencv两次打乱编译器命令顺序
- 链接 OpenCV 库时出错
- 静态链接 OpenCV