我一直在为Raspberry Pi(Raspian / DietPi-Jessie)使用this库,遇到了一种奇怪的情况。我进行了一些本地更改,构建并安装了库,如下所示:

cmake ..
sudo make install
sudo ldconfig

但是,后来我对库进行了更正,然后构建并安装了库,但是没有运行“ldconfig”命令。我运行了使用这些动态链接的库的程序,并将其与更新的库一起使用。

但是,后来我意识到我忘记了'sudo ldconfig',执行完之后,该程序显然是在以前的库版本中运行的。我重复了几次,实际上必须使用'ldconfig -p'查找.so文件的位置并删除它们,以便下一个ldconfig使用最新文件,然后问题得以解决。

为什么“sudo ldconfig”会抢占这些构建库的先前版本,又会从何处抢夺它们?

最佳答案

您可以将当前的lib路径添加到etc / ld.so.conf中,然后再次运行ldconfig。

或者您可以添加到LD_LIBRARY_PATH
导出LD_LIBRARY_PATH = $ LD_LIBRARY_PATH:/ new / path / newpath

10-07 16:26