2013-02-15 68 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