C++ - 代码在调试中编译,但不在发布中编译

C++ - Code compiles in Debug but not in Release

本文关键字:编译 布中 代码 调试 C++      更新时间:2023-10-16

我有一些代码在调试模式下编译时没有错误,但是当我尝试在发布代码中编译时,这就是我所拥有的:

2>someSolution.lib(someClass.obj):找到 MSIL .netmodule 或使用/GL 编译的模块;使用/LTCG 重新启动链接;将/LTCG 添加到链接命令行以提高链接器性能2>致命错误 C1047:对象或库文件"..\release\someSolution.lib' 是使用比其他对象更旧的编译器创建的;重建旧对象和库

我尝试使用清洁解决方案和重建解决方案没有任何运气。我什至尝试删除 Windows 中的 .lib 文件以强制重建它。

有什么帮助吗?谢谢!

我假设这是Visual Studio?此错误看起来像是在解决方案的项目中混合了不同的工具集版本。它可能不会在调试模式下发生,因为它不使用/LTCG(链接时代码生成)选项。

假设您使用的是Microsoft Visual Studio,请验证在项目>右键单击>链接器>首选项(特别是检查动态库路径和依赖项)在发布模式下与调试模式下相同,并且您没有忘记包含任何内容。

事实证明,我需要安装Visual Studio 2008 SP1。感谢所有在这个问题上提供帮助的人。

在Visual Studio Proj配置中,您必须注意调试配置和版本具有正确的链接库和其他标头目录。