目前來講,若是真的想用Xcode來運行Objective-C程序,那麼能夠用虛擬機裝Mac OS X或者裝黑蘋果(在PC機上安裝蘋果的系統,不建議),不過這兩種方式都有些麻煩,目前比較通用的一種方法是借用GNUstep來實現,具體方法以下。php
1、下載安裝GNUstep for Windowshtml
首先,須要下載GNUstep for Windows(http://www.gnustep.org/experience/Windows.html)的相關安裝包。vim
下載地址以下:windows
HTTP 下載通道:http://ftpmain.gnustep.org/pub/gnustep/binaries/windows/編輯器
FTP 下載通道:ftp://ftpmain.gnustep.org/pub/gnustep/binaries/windows/學習
通常來講,若是是打算正常編譯運行Objective-C程序的話,那麼下面這五個是必選的:spa
gnustep-core-0.28.0-setup.exe
命令行
gnustep-msys-system-0.28.1-setup.exe設計
gnustep-system-0.24.2-setup.execode
gnustep-cairo-0.22.1-setup.exe
gnustep-devel-1.4.0-setup.exe(別的地方寫的是這個是可選的安裝包,但我在安裝的時候發現這裏面有compiler的選項,因此仍是安裝下吧)
這些是可選的:
gorm-1.2.13-1-setup.exe
SystemPreferences-1.1.0-2-setup.exe
以上兩個可選組件是有關圖形界面設計的相關安裝包,之後隨着學習的深刻確定會用到的。
個人建議是,有條件的話就都下下來吧,免得之後要用的時候找不到,反正也不佔多少空間的。另外,上面我列出的文件名是我如今下載時的最新版本,你們本身下載的時候能夠本身去找最新的版本下載,不過注意各個安裝包版本的匹配,不然也有可能出現問題。固然也能夠直接到個人網盤去下載,我把上面這些全都打包好了(包括下面我會提到的配置文件gcc.sh以及示例程序hello.m),已經上傳到網盤,歡迎下載,傳送門:http://115.com/file/anhzopnw。
下載完成以後,就能夠直接安裝了,安裝路徑默認是C:\GNUstep,能夠本身設定,我調成了D:\GNUstep,不過注意路徑中不要有中文路徑,不然後面會出現錯誤。
2、編寫Objective-C源程序
把上面這些安裝包所有安裝完成以後,就已經作好了最基本的工做,下面我來講下具體如何編譯運行一個Objective-C程序。
首先是要編寫一個Objective-C源程序,這裏就以最簡單的Hello,Objective-C程序爲例吧:
1
2
3
4
5
6
7
8
9
10
11
12
|
//hello.m
#import <Foundation/Foundation.h>
int
main (
int
argc,
const
char
*argv[])
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSLog(@
"\nHello,objective-C!\n"
);
[pool drain];
return
0;
}
|
3、瞭解GNUstep自帶的Shell
在開始菜單的GNUstep文件夾中選擇Shell並點擊進入命令行模式下,以下圖所示:
此時你就能夠輸入一些Linux命令了(前提是你知道的話),好比ls,cd 等。這裏默認進入的目錄是D:\GNUstep\home\用戶名(下面我會都以D:\GNUstep做爲程序安裝目錄來講明)。
咱們通常會把程序源代碼放在程序文件的home目錄下(D:\GNUstep\home\),這裏我也是這樣設定的(原則上放置路徑是沒有嚴格要求的,可是千萬不能含有中文路徑),因此就把hello.m放在了這個目錄下面。
此時,在Shell下鍵入「cd /home」就能夠進入home目錄下,而後鍵入「ls」就能夠查看當前目錄的文件。
4、建立gcc.sh文件
這個時候若是你之前用過gcc的話,可能就會想直接鍵入「gcc hello.m -o hello」來進行編譯連接,這是不行的,由於此時尚未把一些相關的動態庫及頭文件包含進去(好比Foundation.h),這裏我總結出的方法就是:
在D:\GNUstep\bin目錄下新建一個文件gcc.sh(通常狀況下默認是沒有該文件的,須要咱們本身建立),具體內容以下,寫好後保存便可。
咱們之因此這樣設置,是爲了省去每次從新編譯一個新的程序的時候都要在命令行下輸入一長串命令,這樣弄,豈不是方便許多?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#!/bin/sh
if
[ $# -ne 1 ]; then
echo
"Usage: $0 name"
exit
1
fi
gcc -g -o $1 $1.m \
-fconstant-string-
class
=NSConstantString \
-I /GNUstep/System/Library/Headers/ \
-L /GNUstep/System/Library/Libraries/ \
-lobjc \
-fobjc-exceptions \
-lgnustep-base \
-fconstant-string-
class
=NSConstantString \
-enable-auto-import
exit
0
|
5、編譯運行程序
接下來就能夠直接在Shell中對Objective-C程序進行編譯連接了,方法以下:
鍵入「gcc.sh hello」(即「gcc.sh 源程序文件名」,注意這裏源程序文件名後不能加「.m」後綴,不然會有錯誤),此時gcc編譯器已經將源程序生成了一個可執行文件hello.exe,接 着再鍵入「./hello.exe」便可運行該程序,咱們能夠看到此時成功輸出了「Hello,objective-C!」。
至此,咱們已經成功搭建好了在Windows下的Objective-C運行環境,感謝國家,感謝黨,感謝GNUstep!
6、關於編輯器
另外,至於編輯器的話,只要是Windows下的文本編輯器均可以,不過若是想得到更好的用戶體驗,好比語法識別及顏色區分,能夠嘗試學着使用vim編輯 器,這個代碼編輯器相信不少人都據說過,它是徹底免費的,支持的程序語言很是多,而且只要熟悉了基本操做,用起來就會十分方便。
下載地址:http://www.vim.org/download.php#pc
這樣咱們就在Windows下成功搭建了Objective-C的運行環境,但願對你有所幫助。