我一直被委託在一個具有一些令人困惑的屬性的項目上工作。Xcode中特定文件的特定編譯器標誌
該項目的性質是它不會編譯爲iPhone模擬器和iPhone設備使用相同的編譯設置。我認爲這取決於目標平臺,需要針對x86或arm6/7專門編譯。
因此,在Xcode的Build Settings視圖中查看時,項目的構建設置不支持我爲每個特定文件設置特定的編譯器標誌。然而,在這個項目的原開發人員已經以某種方式宣佈該行:
CE7FEB5710F09234004DE356 /* MyFile.m in Sources */ = {isa = PBXBuildFile; fileRef = CE7FEB5510F09234004DE356 /* MyFile.m */; settings = {COMPILER_FLAGS = "-fasm-blocks -marm -mfpu=neon"; }; };
有沒有辦法做到這一點,而無需手動編輯項目文件?我知道編輯項目文件可能導致完全打破它,所以我寧願不這樣做,因爲我顯然不像以前的開發人員那樣知道。
所以要澄清的問題是:對於模擬器編譯時,除非我刪除-fasm-blocks
標誌
構建失敗。編譯設備時生成失敗,除非我添加-fasm-blocks
標誌。有沒有辦法爲每個文件設置此標誌而無需手動編輯項目文件?
您可以使用'#if!TARGET_IPHONE_SIMULATOR'過濾asm代碼。 – kennytm 2010-05-04 11:18:23