在最新的Xcode 4中运行旧的游戏构建会与stdio.h中的C函数产生冲突

在最新的Xcode 4中运行旧的游戏构建会与stdio.h中的C函数产生冲突,xcode,gcc,xcode4,compiler-errors,Xcode,Gcc,Xcode4,Compiler Errors,我有一个两年前的游戏代码,完全是用cpp在xcode中编写的(不是obj C)。现在我必须在最新版本的Xcode 4中运行这个游戏。游戏使用Xcode 3.2.5构建得非常好。但当我用Xcode4构建游戏时,它显示了以下错误 GCC 4.2错误:C函数“int printf(int,const char*,…)”的声明与in/Developer/Xcode4/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.

我有一个两年前的游戏代码,完全是用cpp在xcode中编写的(不是obj C)。现在我必须在最新版本的Xcode 4中运行这个游戏。游戏使用Xcode 3.2.5构建得非常好。但当我用Xcode4构建游戏时,它显示了以下错误

GCC 4.2错误:C函数“int printf(int,const char*,…)”的声明与in/Developer/Xcode4/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.3.sdk/usr/include/stdio.h冲突

红色标记出现在stdio.h的第446行中


有人能告诉我这里发生了什么事吗?提前谢谢。任何建议都是非常值得注意的。

< P>我不理解你的代码是用C++编写的(你在你的问题中提到CPP)还是C(如你的问题的标签)。
无论如何,官方的
printf()
原型没有包含
int
作为第一个参数,因此Xcode4有充分的理由抱怨。

当我在我的一个类型定义文件中注释这一行定义时:

#定义dprintf printf

游戏代码构建成功。问题是
printf
也被定义为
dprintf
,Xcode4的stdio.h有自己的
dprintf
定义。因此,它遇到了冲突,而它与以前版本的Xcode 3.2.5配合得很好。我猜Xcode库文件中也有一些变化


感谢所有试图帮助我解决这个问题的人

这里有人回答吗?还是我问错了社区?这是一个普通的问题,所以。这个游戏有很多代码。大多数文件是C++文件,但也有一些C文件包含在库中。请从上面的路径和行号446查看stdio.h文件。奇怪的是错误是怎么发生的。还有什么建议吗?您是对的,
printf()
的第一个参数不是
int
。我在整个项目中搜寻那条线,但找不到。我真的不知道这是怎么回事。有什么我应该去查清楚的吗?