代码之家  ›  专栏  ›  技术社区  ›  Mark Galeck

在Linux中,如何设置可执行文件的生成和运行,即根据共享库安装的可执行文件

  •  0
  • Mark Galeck  · 技术社区  · 5 年前

    我想构建一个可执行文件 foobar 在Linux上,这依赖于共享库,比如 libfoobar.so

    gcc foobar.o -Xlinker -rpath 从可执行文件到库的相对路径 -lfoobar -o foobar

    我必须提供到库的路径,这样链接器就不会抱怨,即使链接时不需要库。

    然后,可执行文件和库安装到系统目录中(这些目录与初始位置和彼此无关)。

    之后,我就不能运行它了,因为用于构建的库的路径不再有效,而且也找不到库。

    在安装过程中,我也不会使用不同的根路径。只有构建时和运行时的相对路径才保证始终相同。

    0 回复  |  直到 5 年前