我在visual studio 2010工作,我的代码用C编写。
如果我在'Debug'模式下运行,代码将运行时没有任何错误或警告。
但如果我在“发布”模式下运行相同的操作,则会出现错误和警告。
错误列表:
warning C4013:'fprintf' undefined; assuming extern returning int
error C2065: 'stdout': undeclared identifier
是什么原因?请帮忙
答案 0 :(得分:2)
warning C4013:'fprintf' undefined; assuming extern returning int
看起来你没有包含stdio.h
。
答案 1 :(得分:0)
看起来像Release和Debug之间的配置不同。 检查“整个程序优化”的值,它们可能在两个构建配置之间有所不同。
我反过来也有同样的问题:在发布模式下一切都很好,但在调试模式下,某些函数如'ext'(FFTW库)被报告为“undefined;假设extern返回int”。
失败的构建配置(在我的案例中为Release)在项目属性Configuration Properties > General
下的“整个程序优化”选项设置为No Whole Program Optimization
。
成功的构建配置将此设置为Use Link Time Code Generation
。当我在失败的目标中设置该选项时,一切正常。