C ++ - 代码在Debug中编译,但不在Release中编译

时间:2013-09-27 21:45:44

标签: c++ compilation

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

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

我试图使用Clean Solution和Rebuild解决方案而没有任何运气。我甚至试图删除Windows中的.lib文件以强制重建它。

有任何帮助吗?谢谢!

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

原来我需要安装Visual Studio 2008 SP1。感谢所有帮助解决这个问题的人。