在ld(来自binutils)的manpage ,有关于-Bstatic标志的变化的这个部分:
-Bstatic
-dn
-non_shared
-static
不要链接共享库.这仅对支持共享库的平台有意义. 此选项的不同变体是为了与各种系统兼容. 您可以在命令行上多次使用此选项:它会影响库搜索后面的-l选项.此选项也意味着--unresolved-symbols=report-all.此选项可与-shared一起使用.这样做意味着正在创建共享库,但必须通过从静态库中提取条目来解析所有库的外部引用.
我的问题是粗体句:这些变体试图与哪些系统兼容?我已经看过两个-Bstatic和-static各个项目,但到目前为止还没有看到任何人使用剩下的两个变种.为了获得最大的兼容性(在跨平台方面),哪一个最好使用?
在-Bstatic和-static选项目前使用的,并且是不一样的:
-static是指:执行一个完全静态链接(不使用共享库在所有).-Bstatic是指:对于任何-lfoo认为如下,仅使用该库的归档版本.其他选项:( -dn1993年增加)和-non_shared(1994年增加)是为了兼容长期过时的操作系统.