我一直負責到的.o在Xcode 4我曾嘗試以下命令,在NSObject的類適用於iOS的一個項目文件創建對象編譯Objective-C的文件到目標文件(.o)
gcc -c implemtationfile.m
但如果我嘗試運行從UIViewController的繼承例如我得到一個類的命令一噸的錯誤的開始
UIKit/UIKit.h: No such file or directory
其次,由於在項目的多個文件,是有可能創造一個。 o文件的所有源文件?
謝謝
我一直負責到的.o在Xcode 4我曾嘗試以下命令,在NSObject的類適用於iOS的一個項目文件創建對象編譯Objective-C的文件到目標文件(.o)
gcc -c implemtationfile.m
但如果我嘗試運行從UIViewController的繼承例如我得到一個類的命令一噸的錯誤的開始
UIKit/UIKit.h: No such file or directory
其次,由於在項目的多個文件,是有可能創造一個。 o文件的所有源文件?
謝謝
不奇怪你有錯誤。
您正在嘗試從OSX編譯iOS代碼。如果您從終端調用GCC,您將獲得Mac OS X編譯器。
即使它可以生成.o文件,這些目標文件也是Mach-O目標文件,這意味着它們被編譯爲Mac OS X編譯器工具鏈中的目標文件。
這裏沒有iOS。您的目標文件將具有Intel(x86)或PPC體系結構。 iPhone是ARM,所以你被浪費了。
您應該能夠使用正確的GCC編譯器工具鏈繼續ARM對象文件。
喜歡的東西:
/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.0.1
我沒有測試過,但顯然,你需要使用GCC的iPhone ARM版。只要調用GCC就會調用Mac OS X版本(在/ usr/bin /中)。
像GCC這樣的編譯器需要爲主機和目標體系結構編譯。
主機體系結構是您將在其中調用編譯器的體系結構。 目標之一是您將爲其構建二進制文件或對象文件的體系結構。
因此,嘗試使用適合iPhone目標架構的正確版本的GCC來編譯代碼。
另外請注意,如果編譯一個框架,你應該使用-framework
GCC參數。
谷歌想出了這個帖子:http://iphonesdkdev.blogspot.com/2009/07/how-to-compile-command-line-utility-for.html
有了快速閱讀,我會說,這是,你搜索的內容。