2013-09-22 91 views
4

在過去,我可以編譯編譯通過命令行的.m目標-C文件

$ gcc -fobjc-gc-only -framework Foundation sample.m 
$ ./a.out 

Objective-C的.m文件但現在不工作,因爲有很高的機會程序有

@autoreleasepool { ... } 

子句。現在如何在命令行上編譯Objective-C?

+1

也許最簡單的方法來獲得你想要的確切信息是在Xcode中構建它,然後看看構建輸出。 – mah

回答

6

所以我剛試了clang,結果很好。

$ clang -fobjc-gc-only -framework Foundation sample.m 
$ ./a.out 
2013-09-22 20:17:57.150 a.out[19858:903] Hello world.  

結案! :)

+1

弧環境使用'-fobjc-arc' –

1

xcodebuild是XCode IDE在底層構建應用程序時所使用的內容,以及您在CI服務器等事物中使用的功能,以從命令行啓動構建。它使用.xcproj或.xcworkspace文件來確定要構建的內容,因此對您而言可能仍然太高。

在這種情況下,xcodebuild下是clang和llvm。 Clang取代了gcc,並且有點向後​​兼容,所以這將是你想要開始的地方,我會想。

+0

是的,鐺工作。我想xcodebuild是clang和apple llvm之上的一個薄層。我很想知道如何從命令行編譯任何* xcode項目。 – OTZ

+0

非常。 xcodebuild就像make和clang是gcc,所以開始玩xcodebuild來編譯任何xcode項目。開車真的很容易。我一直編寫Jenkins shell腳本來構建xcode項目到特定的配置。 – Michael

+0

是的,我用xcodebuild玩了一下,它完成了它的工作。我對在線文檔稀缺,實用教程,技巧感到失望。但不同於工具的製作。我想人們只是使用xcode來構建一個項目,儘管這樣做很好,但我想知道事情是如何構建的。感謝您的回答。 – OTZ