2013-02-15 47 views
2

我试图将CocoaLumberjack整合到我继承的项目中。我已经看到它在过去与其他项目一起工作良好,但由于某种原因,我在CocoaLumberjack的代码中遇到了一些错误。实例包括:突然不兼容的类型编译器错误

  • 突然向我“分配到从不兼容的类型‘无效*’‘为const char [1]’”传入C字符串时汇编关于结构特性的误差。
  • 我得到的C字符串的C数组警告说:“从字符串转换文字为‘字符*’被贬值了。
  • ‘类’却突然变成一个关键字(小写版本)

有没有人见过类似的东西?项目的构建设置肯定有所改变,但我不知道做了什么

+0

您是否使用过比以前更新版本的Xcode?他们已经相当积极地增加了默认检测到的问题数量。 – grahamparks 2013-02-15 22:31:43

+0

我正在使用最新版本的Xcode,但之前我已经编译过这个版本。 – Ethan 2013-02-15 22:38:45

回答

2

任何机会,你不小心编译为C++/Obj- C++中?第三点有class成为关键词使得这个声音合理。

+0

这绝对有可能。有什么方法可以检查吗? – Ethan 2013-02-15 22:39:12

+0

@Ehanhan:通常用于编译的语言是由文件扩展名确定的。如果它是'.m',则它是obj-c,'.mm'是obj-C++。您可以在项目的“构建规则”部分定义自定义映射,因此您应该检查是否有任何映射。在“构建阶段”中的“编译源”阶段,您还可以检查相关文件是否存在任何自定义构建设置。您可能还想确保在Build Settings中没有某种目标范围或项目范围的标志,这会强制编译为C++ – 2013-02-15 22:43:25

+0

对于最终建议,我会查看您修改的任何构建设置在项目中(这些在“生成设置”窗格中以粗体显示),并查看是否有任何看起来有趣的事情。 – 2013-02-15 22:44:04