linux中对应的链接器选项

使用IBM的ld链接器,有一个选项-bexport :filename

在这个文件中我们有我们需要在链接时导出的函数的名字。

但是在ubuntu中,我无法find它,并提供以下错误/usr/bin/ld: invalid BFD target `export:stx_export'

请build议在连接的时候,我可以在ubuntu上做些什么来导出这些文件。 提前致谢。

在Linux上实现这一点的标准方法是使用版本脚本。 这个答案提供了细节。

GNU ld中有一个-retain-symbols-file选项:

 AIX: -Wl,-bE:something.exp GNU: -Wl,--retain-symbols-file=something.exp 

编辑:就业俄罗斯指出,创建共享库时,ld不尊重这个文件。 谢谢你,俄语。

注意:如果我们使用带有选项-export-symbols的 libtool,它将使用像-Wl,-version-script -Wl,.libs / libfoo.ver这样的选项,其中libfoo.ver是从导出文件自动创建的:

 { global: const_var2ptr; const_var2ptr2; init_var; lt_libaix_modcall_LTX_preloaded_symbols; uninit_var; var2ptr; vartest2_fun; vartest_fun; local: *; };