我一直在为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