将Objective-C ++文件添加到C ++ Xcode 5项目中

时间:2014-11-26 16:23:21

标签: xcode xcode5 llvm

我正在尝试将ObjC ++文件添加到大型Xcode 5 C ++项目中。

由于遗留原因,"编译来源为"设置必须保持" C ++"。如果我可以将此设置更改为"根据文件类型" ObjC ++文件可以正确构建,但如果Xcode认为它是一个C ++文件,它就不会编译。

我尝试在Identity和Type下明确设置.mm文件的类型为" Objective-C ++ Source"并且编译器仍尝试将其构建为C ++文件。我试过添加" -ObjC"和" -ObjC ++"编译器标记到Build Phases>下的单个文件。编译源代码,我收到一个警告,说明在编译期间该参数未被使用。

我反过来尝试过这个过程,将一个ObjC ++文件添加到另一个项目中,该项目将源代码编译为"根据文件类型,"并将Type设置为C ++。正如预期的那样,文件无法构建。这表明指定单个文件的类型优先于项目设置。

有没有办法强制Xcode5.1.1 / llvm5.1将单个ObjC ++或ObjC文件构建为正确的类型?除了尝试构建ObjC ++文件之外,在我测试的每种情况下,项目设置都被单个文件设置覆盖。这是一个错误或遗漏的功能吗?

1 个答案:

答案 0 :(得分:1)

你接近ObjC ++标志。

将编译源构建阶段中的文件编译器标志设置为-x objective-c++ $(inherited)