将静态库与可执行文件链接时,通常会丢弃未引用的符号.在我的例子中,一些未使用的对象用于将它们各自的类注册到工厂中,如果丢弃了对象,则该注册失败.
在我们使用gcc的Unix下,我可以将标志--whole-archive传递给链接器ld(参见下面的ld文档摘录),这使得ld不会丢弃任何对象.Visual C++有这样的东西吗?
--whole归档
对于
`--whole-archive'选项后命令行中提到的每个归档
,请在链接中包含归档中的每个目标文件,而不是在归档中搜索所需的
目标文件.这通常用于将存档文件转换
为共享库,从而强制将每个对象包含在
生成的共享库中.此选项可能不止一次使用.