2011-11-04 39 views
3

我在Visual Studio 2010的工作,我必须用C写的VC++:在释放模式

如果我在“调试”模式下运行的代码错误fprintf中,代码将没有任何错误或警告运行。

但是,如果我在“释放”模式下运行相同,则会出现错误和警告。

错误列表:

 warning C4013:'fprintf' undefined; assuming extern returning int 
     error C2065: 'stdout': undeclared identifier 

的原因是什么?请帮助

+0

你在做源代码中的#include 吗? –

+0

可能重复[什么是'未声明的标识符'错误,我该如何解决它?](http://stackoverflow.com/questions/22197030/what-is-an-undeclared-identifier-error-and-how-做-I-FIX-IT) –

回答

2
warning C4013:'fprintf' undefined; assuming extern returning int 

看起来你并没有包括stdio.h

0

看起来像版本和调试之间的配置差异。 检查“整体程序优化”的值,它们可能在两种构建配置中有所不同。


我曾在反向同样的问题:在释放模式一切都很好,但在调试模式,如“转”(FFTW库)的一些功能被报告为“不确定的;假设的extern返回int”。

失败的构建配置(发布在我的案例中)在项目属性Configuration Properties > General下的选项“整体程序优化”设置为No Whole Program Optimization

成功的构建配置将此设置为Use Link Time Code Generation。当我在失败的目标中设置该选项时,一切正常。