Windows下搭建Object-C開發環境

轉載地址:http://blog.csdn.net/m_changgong/article/details/7759419

翻遍了,只有這位仁兄的最好。


轉載請註明出處,原文網址:http://blog.csdn.net/m_changgong/article/details/7759419 作者:張燕廣

1、 開發環境搭建請參考

      http://wenku.baidu.com/view/9ffed817f18583d0496459ca.html

ps:

1)如果沒有積分無法下載上面的文檔,又不想設置的時候自己敲寫,先貼出我的設置,你可以copy了:

[plain] view plaincopy

  1. GNUstep MinGW Compiler  

  2. -fconstant-string-class=NSConstanString -std=c99  

  3. D:\GNUstep\GNUstep\System\Library\Libraries\libgnustep-base.dll.a  

  4. D:\GNUstep\GNUstep\System\Library\Libraries\libobjc.dll.a  

  5. D:\GNUstep\GNUstep\System\Library\Headers  

  6. D:\GNUstep\GNUstep\System\Library\Libraries  

  7. @interface @implementation @end @class @selector @protocol @public @protected @private id BOOL YES NO SEL nil NULL self  


2)codeblocks有兩個版本,都是可以的。

codeblocks-10.05mingw-setup.exe

codeblocks-10.05-setup.exe

3)如果參考上面文檔中的說明你的搭建過程非常順利,下面就沒有必要再看了,如果你樂意請留言告知,好讓我知道自己搭建過程爲啥如此悲催?哼哼,不過我猜你十之八九是不順利滴,請往下看吧~


2、 創建測試工程

1)   File->New->Project,選擇”Consoleapplication”,如圖:

 

2)   選C,如圖:

 

3)   輸入工程名稱,選擇存放路徑(我的工程路徑爲:D:\ObjC),如圖:


4)   選擇編譯器,如圖:



5)   在Windows資源管理器中目錄D:\ObjC\HelloWorld下創建main.m

 

從工程中移出main.c,添加main.m

在main.m中添加如下代碼:

[cpp] view plaincopy

  1. #import<Foundation/Foundation.h>  

  2. int main(int argc,const char* argv[]){  

  3.    NSAutoreleasePool *pool = [[NSAutoreleasePool alloc]init];  

  4.    NSLog(@"%@",@"Hello Object-C!");  

  5.    [pool drain];  

  6.    return 0;  

  7. }  


6)   選中工程,右鍵Build工程, Build log如下:


 -------------- Build: Debug in HelloWorld---------------

Linking stage skipped (build target has no object files to link)

Nothingto be done.

通過log可以得出結論,該工程沒有任何源文件可供編譯。

7)   在main.m上右鍵選擇”Properties”,作如下設置:

 

再次build工程,出現錯誤:

D:\ObjC\HelloWorld\main.m:4:5: error:cannot find interface declaration for 'NSConstanString'

8)   選中工程,右鍵選擇“Build options”,發現當前工程的編譯器雖然是“GNUstep MinGWCompiler”,但是之前參考

http://wenku.baidu.com/view/9ffed817f18583d0496459ca.html做的編譯器相關設置在這裏並沒有生效,如圖:


抓狂,好吧,再做一次吧~……

9)   再次Build工程,依然是剛纔的錯誤:

D:\ObjC\HelloWorld\main.m:4:5:error: cannot find interface declaration for 'NSConstanString'

10) 再次選中工程,右鍵選擇“Buildoptions” 將當前工程的編譯器選擇爲“GNU GCC  Compiler“(疑惑1這一步很是奇怪,不知道是”GNUstep MinGW Compiler“copy的過程中該編譯器出現了問題還是設置過程中出現了問題)

同時,將編譯器設置中的

-fconstant-string-class=NSConstanString-std=c99修改爲

-fconstant-string-class=NSConstantString-lobjc -lgnustep-base(疑惑2一旦編譯工程成功後再次將設置修改爲前者,依然可以成功編譯)

這時候再Build工程就一切OK了,效果如下所示:

 

ps:1)如果再次新建一個工程,仍然需要上面那一番煩人的設置工作。

     2)還沒有深入研究codeblocks(哼哼,準備用mac用Xcode了,估計也不會再深入研究了),或許有其他方便的設置,如果你知道不妨分享一下。

     3)如果*.m文件圖標上顯示一個小鎖無法編輯,請在Windows資源管理器中將該文件“只讀“屬性去掉。

     4)每次新建的*.m文件都需要設置屬性中的“Compile file“和”Link file”屬性,很是麻煩。

     5)據我測試,該編譯環境不支持Object-C2.0。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章