【发布时间】:2014-11-26 16:23:21
【问题描述】:
我正在尝试将 ObjC++ 文件添加到大型 Xcode 5 C++ 项目中。
出于遗留原因,“将源编译为”设置必须保持为“C++”。如果我可以将此设置更改为“根据文件类型”,则 ObjC++ 文件将正确构建,但如果 Xcode 认为它是 C++ 文件,它将无法编译。
我已尝试将标识和类型下的 .mm 文件的类型显式设置为“Objective-C++ Source”,编译器仍尝试将其构建为 C++ 文件。我尝试在 Build Phases > Compile Sources 下将“-ObjC”和“-ObjC++”编译器标志添加到单个文件中,但我收到一条警告,指出该参数在编译期间未使用。
我已经反向尝试了这个过程,将一个 ObjC++ 文件添加到另一个项目,该项目将源编译为“根据文件类型”,并将类型设置为 C++。正如预期的那样,该文件无法构建。这表明指定单个文件的类型优先于项目设置。
有没有办法强制 Xcode5.1.1/llvm5.1 将单个 ObjC++ 或 ObjC 文件构建为正确的类型?在我测试过的每种情况下,项目设置都被单个文件设置覆盖,除了尝试构建 ObjC++ 文件。这是一个错误还是缺少的功能?
【问题讨论】:
-
你为什么不使用像 CMake 这样的真正的构建系统?