C++ - 代码在 Debug 中编译,但不在 Release 中
Posted
技术标签:
【中文标题】C++ - 代码在 Debug 中编译,但不在 Release 中【英文标题】:C++ - Code compiles in Debug but not in Release 【发布时间】:2013-09-27 21:45:44 【问题描述】:我有一些代码在调试模式下编译没有错误,但是当我尝试在发布代码中编译时,这就是我所拥有的:
2>someSolution.lib(someClass.obj) : 找到 MSIL .netmodule 或使用 /GL 编译的模块;重新启动与 /LTCG 的链接;将 /LTCG 添加到链接命令行以提高链接器性能 2>致命错误C1047:对象或库文件'..\release\someSolution.lib'是用比其他对象更旧的编译器创建的;重建旧对象和库
我尝试使用 Clean Solution 和 Rebuild 解决方案,但没有任何运气。我什至尝试在 Windows 中删除 .lib 文件以强制重建它。
有什么帮助吗?谢谢!
【问题讨论】:
您使用的是哪个 IDE?您没有指定。 对不起,我在 Windows XP 上使用 VS2008 Professional。 【参考方案1】:我假设这是 Visual Studio?此错误看起来像是您在解决方案的项目中混合了不同的工具集版本。它可能不会在调试模式下发生,因为它不使用 /LTCG(链接时代码生成)选项。
【讨论】:
【参考方案2】:假设您使用的是 Microsoft Visual Studio,请确认在 项目 > 右键单击 > 首选项 > 链接器(特别是检查动态库路径和依赖项)在发布模式下与调试中的相同,并且您没有忘记包含任何内容。
【讨论】:
【参考方案3】:原来我需要安装 Visual Studio 2008 SP1。感谢所有在这个问题上提供帮助的人。
【讨论】:
以上是关于C++ - 代码在 Debug 中编译,但不在 Release 中的主要内容,如果未能解决你的问题,请参考以下文章