之前,我更喜欢在部署应用程序时使用静态库。但后来我发现使用共享库更方便,因为有时我只能替换库而不是重建整个应用程序。
一个问题是如何在部署的环境中设置共享库路径。我知道一种方法是设置$LD_LIBRARY_PATH
,但由于某种原因我不允许这样做。在cmake中有没有办法做到这一点?例如,在部署的环境中,我将所有共享库放在文件夹/app/lib
中。假设我将可执行文件放在文件夹/app/bin
下。我该如何在cmake中设置RPATH
?
我试过
set(CMAKE_INSTALL_RPATH "$ORIGIN/../lib")
但它仍然无法找到共享库。谢谢你的帮助。