事情是这样的:

linux环境下自己写了一个动态库,然后自己写了一个tool,依赖这个库。但在切换路径后,执行tool确找不到这个动态库了,知道是因为没设置RPATH。

需要在cmakelists文件中两行

1.set(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)

2.set_target_properties(${PROJECT_NAME} PROPERTIES INSTALL_RPATH "$ORIGIN/xxx")

$ORIGIN代表编译生成的目录,也就是执行cmake ..的目录。

Logo

更多推荐