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

Xcode4 在最新的Xcode 4中运行旧的游戏构建会与stdio.h中的C函数产生冲突,xcode4,Xcode4,我有一个两年前的游戏代码,完全是用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行中


有人能告诉我这里发生了什么事吗?提前谢谢。任何建议都会很有价值。

我不熟悉Xcode,但我的方法是告诉编译器(在本例中是gcc)输出包含树,并在那里从两个不同的位置查找stdio.h的条目。如果你在这里发布这棵树,我们可能会找到它的底部-我认为这是通过使用
-verbose
-trace
来完成的,我不熟悉Xcode,但我的方法是告诉编译器(在本例中为gcc)输出include树并从两个不同的位置查找stdio.h的条目。如果您在此处发布该树,我们可能能够找到它的底部-我认为这是使用
-verbose
-trace

完成的,当我在我的一个类型定义文件中注释该行定义时:

#定义dprintf printf

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


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

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

#定义dprintf printf

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


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

你真的是在为iphone或台式机制作游戏吗?我正在为iphone制作游戏。通常OBJC用于在xcode中编写游戏,但也支持C和CPP。我的游戏纯粹是用CPP和C编写的,我猜它与“int printf”有冲突。。。但不知道在哪里(您的代码中是否包含stdio.h?如果是,请尝试删除它,看看它有什么效果。我尝试过,但没有效果。它真的让我很不舒服。我的一位资深同事在尝试在新Xcode4中构建旧应用程序时也遇到了它。他认为Xcode4中的错误可能是:(.还有什么建议吗?你是真的在为iphone还是桌面制作游戏?我正在为iphone制作游戏。通常Obj C用于用xcode编写游戏,但也支持C和CPP。我的游戏纯粹是用CPP和C编写的。我猜它与“int printf”冲突……但不知道在哪里?:(您的代码中是否包含stdio.h?如果是,请尝试删除它,看看它有什么效果。我尝试过,但没有效果。它真的让我很不舒服。我的一位资深同事在尝试在新Xcode4中构建旧应用程序时也遇到了它。他认为Xcode4中的错误可能是:(.还有什么建议吗?我检查了stdio.h以查看它是否包含在项目中,并尝试使用stdio.h删除包含。但是没有帮助,它总是转到stdio.h文件第446行,冲突就在那里。它没有显示冲突产生的原因:(无论如何,感谢您的兴趣重新定义。快乐编码:)我检查了stdio.h以查看它是否包含在项目中,并尝试使用stdio.h删除包含。但没有帮助,它总是转到stdio.h文件第446行,冲突就在那里。它没有显示冲突产生的原因:(无论如何,感谢您的兴趣重新派生。快乐编码:)