【发布时间】:2011-04-21 12:03:23
【问题描述】:
将静态库链接到可执行文件时,通常会丢弃未引用的符号。在我的情况下,一些其他未使用的对象用于将它们各自的类注册到工厂中,如果这些对象被丢弃,则此注册失败。
在我们使用 gcc 的 Unix 下,我可以将标志 --whole-archive 传递给链接器 ld(参见下面 ld 文档的摘录),这使得 ld 不会丢弃任何对象。 Visual C++ 有这样的东西吗?
--整个存档
对于命令行中提到的每个存档
`--whole-archive' 选项,包括存档中的每个目标文件
在链接中,而不是在存档中搜索所需的
目标文件。这通常用于将存档文件转换为
一个共享库,强制每个对象都包含在
生成的共享库。此选项可以多次使用。
【问题讨论】:
-
感谢
--whole-archive的解释,我只是在搜索使用它的场景。
标签: c++ visual-c++ linker static-libraries