Windows 下的 Objective-C 開發環境配置簡介


我也是黑蘋果一族,不買 Mac 的原因各不相同,這里就不說了。即便是裝了黑蘋果,由於需要在 Windows 上長時間工作,就想能不能在 Win 上弄個 OC 的編譯環境,這樣可以方便學習 OC,省的來回切換。

這篇文章的大部分內容均來自於網上,具體可參見《參考》部分。本文是作者在實際使用后整理所得,如有疏漏,請不吝賜教,謝謝。

安裝

上網搜了搜,這方面的資料真是不少,必備的東東是 GNUstep Developer Tools,可以參考這個鏈接 Windows Installer,安裝很簡單,按照順序 GNUstep System、GNUstep Core、GNUstep Developer 安裝即可,過程就不表述了。

安裝完成后,我們可以用“程序 -> GNUstep -> Shell” 來啟動一個模擬 UNIX 控制台,在這下面可以完成開發、編譯、執行等工作。

開發

首先我們來寫一個 HelloWorld,簡單起見,我們在 C 盤根目錄下創建 HelloWorld.m 文件,並保存,代碼如下:

 

[cpp]  view plain copy
  1. #import <Foundation/Foundation.h>  
  2.   
  3. int main (int argc, const char *argv[])   
  4. {  
  5.     NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];  
  6.     NSLog(@"Hello World!");  
  7.     [pool drain];  
  8.       
  9.     return 0;  
  10. }  

 

注:關於用什么工具來編寫代碼,由於我也是初次使用,並沒有特別好的工具推薦,我自己使的是 UltraEdit。


編譯

由於 HelloWorld.m 是在 C 盤根目錄下,所以首先我們將路徑切換到 C 盤根目錄:

 

[plain]  view plain copy
  1. $cd C:\  

注:cd 這種方式同樣適用於切換到任意驅動器或任意子目錄下,路徑的組織結構與 windows 沒有區別,不區分大小寫。

 

編譯成目標碼

 

[plain]  view plain copy
  1. gcc -fconstant-string-class=NSConstantString -c HelloWorld.m -I /GNUstep/System/Library/Headers  
執行上面的命令后,控制台不會有任何輸出,這是正確的,否則你需要去檢查原因了。同時在 C 盤根目錄下會生成一個 HelloWorld.o 的目標文件,在下一步,我們將用它來編譯成可執行文件。

 

 

編譯成可執行文件

 

[plain]  view plain copy
  1. gcc -o HelloWorld HelloWorld.o -L /GNUstep/System/Library/Libraries/ -lobjc -lgnustep-base  
C 盤根目錄下會生成 HelloWorld.exe

 

執行

我們可以直接在 Windows 控制台下執行 HelloWorld.exe,也可以在 Shell 窗口中執行:

在 Shell 窗口輸入:

 

[plain]  view plain copy
  1. ./HelloWorld.exe  

 

 

輸出如下:

[plain]  view plain copy
  1. 2011-09-23 13:22:42.828 helloworld[5484] Hello World!  

關於工作路徑

我們做開發時,項目不可能放在 C 盤根目錄下,一般都是有組織的,那么如何編譯這類的文件呢?其實方法很簡單,使用 cd 命令,進入到 .m 所在的目錄下,然后執行編譯。

Make

上面的編譯過程很繁瑣,稍有不慎就可能輸入錯誤,造成編譯失敗,其實還有一個更簡單的方法,就是建立一個 make 文件,對於 GNUstep 來說,make 文件名必須是“GNUmakefile”,內容如下:

 

[html]  view plain copy
  1. include $(GNUSTEP_MAKEFILES)/common.make   
  2.   
  3. TOOL_NAME=HelloWorld<strong>  
  4. </strong>HelloWorld_OBJC_FILES=HelloWorld.m    
  5.   
  6. include $(GNUSTEP_MAKEFILES)/tool.make   


HelloWorld 關鍵字部分為可替換為實際內容。GNUmakefile 文件要求與 .m 文件在同一目錄下。

 

 

make 的執行很簡單,進入 “GNUmakefile” 所在的目錄,在 Shell 窗口中執行 “make” 即可。這會在 “GNUmakefile” 所在目錄下生成一個 obj 目錄,obj 下包含了可執行文件和目標文件等。

后記

 

簡簡單單,基本上沒什么波折,就是工作路徑的問題煩了我一下,因為有人說在 GNUstep 安裝目錄下會有一個 “C:\GNUstep\home\username” 目錄,可我安裝后並沒有類似的東東,也許是版本不一致或是別的什么原因吧,這已經不是問題了。

注:上面的問題是這樣的,后來我發現這個 HOME 還是有的,啟動 shell 后,輸入 pwd 命令,得到當前工作路徑為 /home/username,實際位置位於 “D:\GNUstep\msys\1.0\home\username”。

參考

  1. Objective-C:GCC+GNUstep配置 - 兔子吃南瓜
  2. Windows下編譯objective-C 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM