我正在尝试将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 ++文件之外,在我测试的每种情况下,项目设置都被单个文件设置覆盖。这是一个错误或遗漏的功能吗?
答案 0 :(得分:1)
你接近ObjC ++标志。
将编译源构建阶段中的文件编译器标志设置为-x objective-c++ $(inherited)
。