Linker 其他平台的强制加载链接器标志

Linker 其他平台的强制加载链接器标志,linker,ld,Linker,Ld,我需要包含静态库中的所有符号。使用Xcode编译时,“强制加载”很好。但是,例如,当在Ubuntu和gcc下使用它时,“-force_load”不被识别。我正在寻找可在其他操作系统下使用的替代选项。谢谢。GNU链接器的选项称为--whole archive,但是当-force\u load应用于一个库时,--whole archive在命令行上应用于它之后的所有库。所以通常的做法是做——整份归档somelib.a——不整份归档 通常您不直接使用ld,而是通过GCC调用它,在这种情况下,您必须告诉

我需要包含静态库中的所有符号。使用Xcode编译时,“强制加载”很好。但是,例如,当在Ubuntu和gcc下使用它时,“-force_load”不被识别。我正在寻找可在其他操作系统下使用的替代选项。谢谢。

GNU链接器的选项称为
--whole archive
,但是当
-force\u load
应用于一个库时,
--whole archive
在命令行上应用于它之后的所有库。所以通常的做法是做
——整份归档somelib.a——不整份归档

通常您不直接使用ld,而是通过GCC调用它,在这种情况下,您必须告诉GCC将选项传递给链接器:
-Wl,--whole-archive,somelib.a,--no-whole-archive