我最近在ubuntu下安装了一个fedora 18几年。
经过适当更新后,我下载并重新编译了我最喜欢的库,如Opencv和PCL。
为了检查一切是否正常,我尝试编译以下代码:
cv::Mat im = cv::imread("023.JPG");
cv::resize(im.clone(),im,cv::Size(600,800));
cv::imshow("default",im);
cv::waitkey(0);
编译步骤看起来已经成功,但是当我尝试执行此代码时,我得到了以下内容:
/首页/乔尼/桌面/ PROG / MMSE_SD2 / test_opencv - 构建 - 桌面Qt_4_8_4_in_PATH_的系统的_Release / test_opencv: 符号查找错误: /家庭/乔尼/桌面/ PROG / MMSE_SD2 / test_opencv - 构建 - 桌面Qt_4_8_4_in_PATH_的系统的_Release / test_opencv: 未定义的符号:_ZN2cv12_OutputArrayD1Ev
我使用qtcreator作为IDE。
我的.pro文件看起来像这样:
INCLUDEPATH +=/usr/local/include/opencv-2.4.9
LIBS += -lopencv_core \
-lopencv_highgui \
-lopencv_imgproc \
-lopencv_calib3d \
-lopencv_contrib \
-lopencv_features2d \
-lopencv_flann \
-lopencv_legacy \
-lopencv_ml \
-lopencv_objdetect \
-lopencv_video
SOURCES += \
main.cpp
我重新编译了三次opencv库但没有成功。
如果有人可以提供帮助我真的很感激。
提前致谢
强尼
答案 0 :(得分:1)
我的假设是您在系统中安装了较旧版本的OpenCV,并且您的程序与运行时链接到错误的库。
您可以通过调用ldd <binary>
轻松检查,这将列出您的二进制文件将链接到的库。如果它们不是您在/ usr / local / lib /中安装的那些,则可以通过设置LD_LIBRARY_PATH来解决问题。