clang,Linux,是否可以在链接时更改共享库的名称?

Xealits

我正在测试某种非常规的项目布局并rake作为make实用程序。有一条规则可以从不同目录中的源文件编译二进制文件,并将它们链接到共享库。此规则从项目的根目录运行。例如,规则执行此操作:

clang -I libs/ -o tests/sourcefile2 tests/sourcefile2.c shared_libs/libFoo.so

结果,我得到shared_libs/libFoo.so了二进制文件的完整路径

readelf -d tests/sourcefile2
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [shared_libs/libFoo.so]
 0x0000000000000001 (NEEDED)             Shared library: [libc.so.6]
...

我想这样将其更改为'libFoo.so':

readelf -d tests/sourcefile2
  Tag        Type                         Name/Value
 0x0000000000000001 (NEEDED)             Shared library: [libFoo.so]
...

然后,我可以根据需要设置RPATH动态链接器,它将提供一些灵活性。但是我找不到相应的选项或类似的示例。您能建议如何处理吗?我是否应该仅使用一个临时目录进行构建,复制所有内容并在那里进行编译?

索罗尼尔·海蒂尔

如果使用“ ld”作为链接器,则应该可以使用“ -Wl,-soname”。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

链接器为何更改共享库名称?

是否可以链接到共享库而不访问库本身?

在Linux中链接共享库时遇到问题

是否可以从Visual Studio 2017创建Linux共享库?

是否可以阻止Windows更改Linux SMB共享的权限?

多个动态链接库(DLL)是否可以从静态库(LIB)共享线程本地存储

Linux,Clang,Cmake,QtCreator:使用共享库

检查共享库是否与 -Bsymbolic 链接

关于Linux中的共享库,是否可以选择库中的导出功能?

Unix:在Linux上将共享库与gcc链接

在Linux内核中链接共享库

CMake:修改共享库时的冗余链接

当多个Rust源文件共享相同的名称时,是否可以设置LLDB断点?

是否可以获取共享库的版本?

我是否可以将.gdbinit设为“使将来共享库加载时挂起断点?”

是否动态加载Linux共享库?

是否可以链接共享库(来自另一个共享库),而不必使其符号在全局范围内可见?

链接静态库Vs。Linux中的共享库

是否可以将 VS2019 中内置的共享静态库与 VS2010 项目链接起来?

链接到在退出时链接到另一个共享库段的共享库

是否可以更改符号链接的权限?

是否有一个链接器标志强制它在启动时加载所有共享库?

是否可以更改div元素的类名称

是否可以在ggroc中更改轴名称?

如何检测是否需要共享库符号链接?

Windows是否可以识别Linux的符号链接?

共享库符号冲突和静态链接(在Linux上)

如何在Linux中将libnode.a链接到共享库

与共享库链接