我正在尝试使用VC ++构建一个非常复杂的开源项目。该项目由数十个库和一个可执行文件组成,具体取决于这些库。
由于某些原因,VC ++链接器不希望在其中一个库中看到大约40个函数,并且每个库都报告“未解析的外部引用”,所以我无法链接。我不想浪费时间解决问题 - 这些功能可能永远不会被调用。
我想让链接器链接它看到的内容并插入一些合理的错误处理(比如报告错误并终止程序)而不是丢失函数。我怎么能这样做?
答案 0 :(得分:13)
您可以使用/FORCE:UNRESOLVED
链接器选项。
该文档包含相当低调的警告:
使用此选项创建的文件可能 没有按预期运行。
在实践中,不会有错误处理 - 只是崩溃。
答案 1 :(得分:6)
如果真正从未调用过函数,则为库创建实际库(.lib文件)。然后链接器将仅从库中提取所需内容。
链接器的工作是解析所有引用,所以我认为你不会让它插入错误处理代码。
P.S。我要检查的第一件事是看C函数是否被编译为C ++,导致缺少符号。
答案 2 :(得分:5)
如果从未调用它们,请从项目中删除引用。如果他们被召唤,那么解决该死的问题。这里没有其他选择。
答案 3 :(得分:1)