如何确定Ubuntu Linux库路径?也就是说,链接器在链接程序时如何知道在何处获取目标文件?
答案 0 :(得分:8)
使用-L
参数以及环境变量LD_LIBRARY_PATH
进行链接时,可以显式设置文件路径。
使用-L
参数,还有一些路径硬编码到链接器中。您可以使用以下命令查看这些:
gcc -Xlinker -v
答案 1 :(得分:8)
查看/etc/ld.so.conf
以及/etc/ld.so.conf.d/
目录中的文件 - 它就是设置的位置。
答案 2 :(得分:4)
如果它不是标准路径(/lib
,/usr/lib
),则可以使用编译器标志指定位置。对于g++
,它是-L/some/path/lib
。如果使用自动工具,如果需要特定路径,则可以使用LDFLAGS=-L/some/path/lib
进行配置。如果已为项目正确设计了configure,则它应具有--with-some-library=PATH
选项,您也可以在其中指定该库的路径。
答案 3 :(得分:4)
链接时,需要指定-L标志以指示库的位置。在运行时,动态链接器使用“/etc/ld.so.conf”,“/ etc /ld.so.conf.d / *”中给出的路径和LD_LIBRARY_PATH的值。
答案 4 :(得分:4)
“sudo ldconfig”会在您刚刚安装新内容时更新系统的缓存。