Ubuntu Linux库路径

13 c++ linux linker

如何确定Ubuntu Linux库路径?也就是说,链接器在链接程序时如何知道在何处获取目标文件?

Dir*_*tel 9

查看/etc/ld.so.conf目录中的/etc/ld.so.conf.d/文件 - 它就是设置的位置.


Dre*_*ann 8

使用-L参数链接时,可以显式设置文件路径,以及环境变量LD_LIBRARY_PATH.

使用-Lparam 还有一些路径硬编码到链接器中.您可以使用以下命令查看这些:

gcc -Xlinker -v
Run Code Online (Sandbox Code Playgroud)


vir*_*tor 5

如果它不是标准路径 ( /lib, /usr/lib),则可以使用编译器标志指定位置。对于g++,它是-L/some/path/lib。如果您使用 autotools,则可以在LDFLAGS=-L/some/path/lib需要特定路径时进行配置。如果 configure 已为项目正确设计,则它应该有一个--with-some-library=PATH选项,您还可以在其中指定仅为该库的路径。


Mic*_*yan 5

链接时,需要指定-L 标志来指示库所在的位置。在运行时,动态链接器使用“/etc/ld.so.conf”、“/etc/ld.so.conf.d/*”和LD_LIBRARY_PATH 中给出的路径。