我正在为 GNU/Linux 编写共享库,现在将使用“sudo make install”进行安装。我有 CMake 配方来创建文件并将它们安装在“/usr/local/lib/app”中,并且正确创建了库和链接。
但是库路径没有更新,我必须手动运行“sudo ldconfig/usr/local/lib/app”以使库可用。
我系统上的其他几个包将它们的库放在/usr/local/lib 下的特定文件夹中,所以我假设这是正确的。
那么如何让 CMake 更新系统的库路径以及创建文件并安装它们呢?执行此操作的正确方法是什么?
我也希望它完成,以便库路径更新在系统重启后仍然存在。
谢谢, 黑体字
最佳答案
I'd also like it accomplished so that the library path update survives a system restart.
我不知道有任何特定于 CMake 的设施。但是,您应该能够添加如下规则以使更改持久化。
echo "/usr/local/bret/lib" > /etc/ld.so.conf.d/bret-i386.conf
echo "/usr/local/bret/lib64" > /etc/ld.so.conf.d/bret-x86_64.conf
/sbin/ldconfig
当您覆盖 bret/lib{,64}
中的文件时,您仍然需要重新运行 ldconfig。
关于linux - 如何使用CMake更新库路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5455027/