在同一个Project中编译C ++和ObjC文件

时间:2011-12-22 18:28:11

标签: c++ objective-c xcode4 compilation

我不知道这是否是我最终的一些愚蠢错误,或Xcode 4.2.1正在做某事,但我甚至无法编译一个同时包含C ++和ObjC文件的简单项目。 我在过去做过这个,但不知怎的,编译器将C ++头文件视为ObjC头并抛出愚蠢的错误,如

Test.h

如果我强制从“项目设置> Apple LLVM编译器3.0 - 语言>编译源代码”编译所有文件作为ObjectiveC ++,我就能编译。 但是,这只是一种解决方法,当代码增长时,我不想与任何愚蠢的事情作斗争。

2 个答案:

答案 0 :(得分:3)

我刚刚完成了我正在进行的项目。我相信@pmjordan是对的,你需要将任何引用C ++代码的文件重命名为.mm文件,而不是.m。

答案 1 :(得分:0)

在XCode 4.2中,您还可以使用右窗格中“身份和类型”检查器中的“文件类型”设置更改单个文件的类型。如果只有你遇到麻烦的特定头文件,我建议调查一下。也许将类型从Objective C标题更改为C ++标题?