CMake链接路径
CMake Linking Path
我正在尝试将一个程序链接到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})
现在它正在正确地链接库。。但是他们所有人!
确保环境变量设置正确,然后在CMakeList文件中使用这些行。
FIND_PACKAGE( OpenCV REQUIRED )
TARGET_LINK_LIBRARIES( myProject ${OpenCV_LIBS} )
您需要配置您的动态库加载程序以包含这些目录。添加/etc/ld.so.conf
文件的路径或在/etc/ld.so.conf.d/
目录中创建.conf
文件
相关文章:
- 在 Visual Studio 2010(及更高版本)中定义包含或链接路径变量的位置
- 如何在g++中从链接库中删除路径
- CMake 链接 2 个具有相对路径的库
- 在可执行文件中使用带有符号链接的相对路径
- 链接库时的默认目录上的GCC或G 路径搜索顺序
- CMake为什么通过相对路径链接外部库
- mingw链接路径
- 如何将共享库与具有相对路径的 CMake 链接
- 使用 cmake 的不同链接和加载库路径
- 编译C++中动态链接库,存在运行路径问题
- 访问注册表数据以设置链接器和包含路径
- CMake链接路径
- C++:链接器找不到 -lcrypto,但库在路径中
- CMake:从外部项目链接共享C++对象会生成具有相对路径的二进制文件,而不是绝对路径
- 如何避免动态链接的完整路径
- 路径文件存在导致链接器错误 2028/2019
- G++添加包含和链接路径
- 如何找到外部变量的链接路径
- 在不使用完整路径的情况下创建共享库链接
- 用静态库的完整路径链接可执行文件