【发布时间】:2014-01-18 00:15:30
【问题描述】:
我正在向一个已经存在的项目添加一些功能。它按预期工作。
然后我从一个打开的库中向该项目添加了几个文件。
现在,Xcode 无法编译整个项目。
调查原因,我发现问题是“编译源为”标志,它默认设置为“Objective-C++”。
将该标志切换为其他值会使 Xcode 抱怨。在任何情况下都有数百个错误。 我的想法是以前的开发人员这样做是为了避免将 .c、.cpp、.m 重命名为 .mm。他已经不在这里了。所以,很难说。
知道如何解决这个问题吗? 我看到几个选项:
- 根据需要重命名文件。这意味着数百 文件重命名。或者
- 我强制 Xcode 将特定文件编译为 Objective-C/file 类型,但整个项目为 Objective-C++ 或
- 我创建了一个小项目,然后生成了一个共享库。
我想继续选项 2。可以吗?以及如何?
还有什么想法吗?
谢谢
【问题讨论】:
-
你试过在侧面板的Identity和Type中设置文件的类型吗?如果将文件类型更改为 Objective-C,无论扩展名是什么,它都会编译为 Objective-C。
-
@StephenJohnson 这应该是一个答案,确定吗?即 Xcode 允许选项(2),这是相关的下拉菜单...(编辑:(1)也不会很难自动化,请参见例如reviews.cnet.com/8301-13727_7-57411491-263/…)
-
@Stephen Johnson:试过了。没用。
-
@Tommy:问题在于,并非所有东西都是 Objective-C++。我必须有选择地将 .m、.c、.m 更改为 .mm。假设如果一个 Objective-C++ 包含在一个 Objective-C 文件中,那么最后一个也需要是 Objective C++
-
从长远来看,选项 1 更好。这可能需要一些时间,但最终您将拥有每个人都能理解的一致的源文件名。
标签: c++ ios objective-c xcode