我试图将一个程序链接到OpenCV库,该库位于: /usr/local/lib中
因此,在CMakeLists.txt中,我提出:
TARGET_LINK_LIBRARIES(myprogram
opencv_core
opencv_imgproc
opencv_highgui
opencv_imgproc
opencv_objdetect
)继续建设,但如果我这样做了:
ldd myprogram我得到了:
...
libopencv_core.so.2.4 => not found
libopencv_imgproc.so.2.4 => not found
libopencv_highgui.so.2.4 => not found
libopencv_objdetect.so.2.4 => not found因此,为了能够运行它,我必须每次将/usr/local/lib添加到$LD_LIBRARY_PATH中。
我做错什么了?
更新
我已经将TARGET_LINK_LIBRARIES配置替换为这个配置:
TARGET_LINK_LIBRARIES(myprogram ${OpenCV_LIBS})现在它正确地连接了图书馆。但他们都是!
发布于 2013-12-07 12:57:40
确保正确设置了环境变量,然后在CMakeList文件中使用这些行。
FIND_PACKAGE( OpenCV REQUIRED )
TARGET_LINK_LIBRARIES( myProject ${OpenCV_LIBS} )发布于 2013-12-07 13:00:04
您需要配置您的动态库加载程序以包含这些目录。将路径添加到/etc/ld.so.conf文件或在/etc/ld.so.conf.d/目录中创建一个.conf文件
https://stackoverflow.com/questions/20441580
复制相似问题