我有我的應用程序設置爲在編譯器版本下的目標>生成設置中使用LLVM GCC 4.2,它適用於模擬器。如何在使用LLVM GCC的設備上編譯iPad應用程序?
當我將我的「Scheme」切換到iPad的目標時,它會拋出與我使用GCC時相同的警告,所以我假設它現在正在GCC下編譯。但「C/C++編譯器版本」目標仍然設置爲LLVM GCC 4.2(除iOS默認值外,其爲GCC 4.2且我無法更改)。
爲什麼它不再編譯LLVM GCC,我該如何改變它以便它在iPad下執行?
編輯:我得到的錯誤與訪問超類的實例變量有關。如果你沒有把它寫成[self iVarName],那麼GCC會給出一個錯誤,而如果你只是使用iVarName,那麼LLVM GCC編譯得很好。
你有沒有清理這個目標?你能舉一個你試圖避免這種方式的錯誤的例子嗎? – 2011-04-03 01:16:12
我確實相信我清理了目標。該錯誤與引用超類的實例變量有關。將錯誤添加到我的問題中。 – AndrewKS 2011-04-03 02:17:24
你是否偶然運行32位模擬器?我的猜測是你在iPad上使用LLVM/GCC,但記住iPad使用現代運行時。聽起來你的代碼正在做一些現代運行時不允許的事情。使用超類伊娃可能合成一個屬性? – 2011-04-03 04:47:24