首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake链接路径

问CMake链接路径
EN

Stack Overflow用户
提问于 2013-12-07 12:52:08
回答 2查看 1.2K关注 0票数 0

我试图将一个程序链接到OpenCV库,该库位于: /usr/local/lib中

因此,在CMakeLists.txt中,我提出:

代码语言:javascript
复制
TARGET_LINK_LIBRARIES(myprogram 
    opencv_core 
    opencv_imgproc
    opencv_highgui
    opencv_imgproc
    opencv_objdetect
)

继续建设,但如果我这样做了:

代码语言:javascript
复制
ldd myprogram

我得到了:

代码语言:javascript
复制
...
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配置替换为这个配置:

代码语言:javascript
复制
TARGET_LINK_LIBRARIES(myprogram ${OpenCV_LIBS})

现在它正确地连接了图书馆。但他们都是!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-12-07 12:57:40

确保正确设置了环境变量,然后在CMakeList文件中使用这些行。

代码语言:javascript
复制
FIND_PACKAGE( OpenCV REQUIRED )
TARGET_LINK_LIBRARIES( myProject ${OpenCV_LIBS} )
票数 0
EN

Stack Overflow用户

发布于 2013-12-07 13:00:04

您需要配置您的动态库加载程序以包含这些目录。将路径添加到/etc/ld.so.conf文件或在/etc/ld.so.conf.d/目录中创建一个.conf文件

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20441580

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档