【问题标题】:Ubuntu Linux Library PathUbuntu Linux 库路径
【发布时间】:2009-12-12 23:54:07
【问题描述】:

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

【问题讨论】:

    标签: c++ linux linker


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

      还有一些使用-L 参数硬编码到链接器中的路径。您可以使用以下命令查看这些内容:

      gcc -Xlinker -v
      

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            【解决方案5】:

            "sudo ldconfig" 如果你刚刚安装了新的东西,它会更新系统的缓存。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2015-06-08
              • 2012-07-08
              • 1970-01-01
              • 1970-01-01
              • 2018-12-28
              • 2018-01-28
              • 2013-02-04
              • 2013-01-28
              相关资源
              最近更新 更多