標籤:object-c oc學習 linux學習oc
如果想學習OC卻苦於沒有MAC電腦的同學,可以試著以下方法來解決
我們利用GNUstep學習Objective-C
第一步:安裝需要的軟體和編譯環境
sudo apt-get install gnustepsudo apt-get install gnustep-devel
第二步:寫第一個OC代碼
#import <Foundation/Foundation.h>int main (int argc, const char * argv[]){ NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init]; NSLog (@"hello world"); [pool drain]; return 0;}/*PS::需要注意一點:Objective-C2.0 裡 將 NSAutoreleasePool *pool = [NSAutoreleasePool alloc] init]; 和 [pool drain]; 換成了 “@autoreleasepool { }" , 如果只是想在ubuntu裡學習一下Objective-C編程, 可以不寫NSAutoreleasePool、 [pool drain];這兩行代碼,也不報錯!*/
第三步:編譯gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
如果編譯過程中出現以下錯誤
gcc: error trying to exec ‘cc1obj‘: execvp: No such file or directory
運行以下命令
sudo apt-get install gobjc
再次編譯後運行
./hello
Executing the program will result in output similar to the following:
2009-09-15 10:48:39.772 prog1[12906] hello world
小技巧:
每次編譯總是要寫一大串
gcc `gnustep-config --objc-flags` -lgnustep-base .m源檔案 -o 產生的可執行檔
這裡簡化一下,寫一個makefile,代碼如下:
app:$(s) gcc `gnustep-config --objc-flags` $(s) -o app -lgnustep-base -lobjc clean: rm *.d rm app
每次執行都需要
make s=.m源檔案名稱 //運行:./app//再次編譯之前需要make clean
本文出自 “開心編程_永無止境” 部落格,請務必保留此出處http://happyliu.blog.51cto.com/501986/1621679
在Linux上如何學習Objective-C