查詢了一些安裝和配置環境。由於自己早就告別了vmware,也就早自己的ubuntu下開始搭建編譯obj-c的編譯環境。不過我開始是自己早ubuntu software center種找到一個gnustep-devel 的一個Project Manager IDE,然後直接install的。所以,我不知道是不是我安裝了這個IDE之後,後來又按照文章的順序執行了一遍,得到了hello world。我有點不敢確定的,是不是原來我的IDE已經成功了,這個文章沒有起到作用,還是說,2個都成功搭建了,只是重複了一遍而已。不過最後的結果是好的,就是成功了。如果以後要重新搭建的話,現看下直接從ubuntu software center安裝的是不是成功了。也請大家安裝的時候看下,避免重複安裝,浪費時間。
| [日期:2010-08-24] |
來源:Lnux社區 作者:liangmangui |
一.下午1點到5點半,iPhone的application介紹會,做了4個簡單的application,確實很有意思。
二.以下共有三種方法,只有第三種方法成功了
1.You can program the Objective-C without MacBook.
Please refer the below link to install Objective-C compiler in you Ubuntu
mchine.
http://d.hatena.ne.jp/tomute/20090112/1231809116
2.Ubuntu
9.10下搭建Object-C開發環境(轉)(這個寫的很全,但是沒有成功)
Object-
C是Apple對C語言的擴充,但是它配套的開發環境必須要運行在Leopard系統上,而這個系統又要運行在Mac機,無奈我還是個學生,再換個蘋果本
不太實現,把現在的系統格了換Leopard實在是捨得,當初配置這個系統沒少花精力呢,虛擬機器上裝Leopard效能又不能讓人接受,無奈只能嘗試搭建
Xcode以外的開發環境,很幸運,還真有,Ubuntu
下用GNUStep就可以了,網上有很多講解安裝的過程,但是講的都不詳細,而且還有好多是錯的,更無奈的是竟然還有N多的人也不驗證一下內容正確不正確,就拿來轉貼,給搜尋帶來了很多的麻煩,無奈自己又的研究,又是查資料,終於搞定了,現在和大家說一下具體的步驟吧:
1)安裝gnustep-devel,可以通過sudo apt-get install gnustep
gnustep-devel安裝,但是安的時候會告訴你有好多包已經不能用了,更好的辦法是用新立得軟體包管理器安裝,開啟之後輸入:gnustep-
devel,右鍵標記安裝,會提示你還需要裝很多其它的依賴包,先確定,然後點應用就可以了。
2)安裝完畢後,也是最關鍵的一步,是配置gnustep-make的環境變數,與windows不同,Ubuntu
的
使用者環境變數是放在.bashrc檔案裡面的,這個檔案在使用者的根目錄下,當然,你是找不到的,因為是隱藏的,Ubuntu系統想要隱藏檔案的話是在檔案
名前面加.,顯示隱藏檔案的方法是Ctrl+H,所以,在使用者的根目錄下,顯示隱藏檔案後,找到.cshrc
[bing註:我早安裝的時候沒有看到這個,直接是在bashrc的最後copy這個配置的,不知道原來作者是不是筆誤,或者是我的版本是ubuntu 10.多的,沒有那個檔案
],在最後面加入如下配置:
#set GNUstep
GNUSTEP_ROOT=/usr/share/GNUstep
export GNUSTEP_ROOT
source /usr/share/GNUstep/Makefiles/GNUstep.sh
如果不加入上面的配置的話,在編譯objective-c源檔案的時候會提示/common.make,/tool.make找不到,也是這裡困擾了我好久,所以這個很重要.
完成上面的配置生,object-c的開發環境我們就已經搭建好了,接下來就是用gnustep開發一個object-c來測試一下了
1)應用程式->編程->Project Manager IDE->File->New->Source File->Objective-C Language Source File
然後寫一個簡單的Hello World程式
2)File->Save儲存在一個目錄裡面,記得儲存成Objective-C類型的,可以看到檔案的類型是.m
3)然後在這個目錄裡面建立一個空檔案,不需要任何檔案類型,但是名字必須是GNUmakefile,內容如下:
include $(GNUSTEP_MAKEFILES)/common.make
TOOL_NAME = LogTest
LogTest_OBJC_FILES = source.m
include $(GNUSTEP_MAKEFILES)/tool.make
這裡的LogTest可以換成任務名字,代表編譯之後的可執行檔名,只要兩個地方統一就好了,source.m是你剛剛儲存好的原檔案名稱,換成你
自己的,這裡的$(GNUSTEP_MAKEFILES)引用的是我們設定好的gnustep-make的path,所以沒有第2步的設定,這裡是找不到
對應的目錄的。
4)寫好這個檔案後,在終端進入這個目錄,然後執行make,如果一切沒問題的話,目錄中就會多出來一個obj目錄,裡面是編譯好的可執行檔。
5)再執行./obj/LogTest,就可以看到啟動並執行結果了,這裡的LogTest注意,和上面對應,當然可以換成你自己的
3.Ubuntu
下Object-c的開發環境搭建(這個簡單成功了)
Gnu編譯器只支援最基本的部分Object-c, 為了Ubuntu
下使用整個的Objective-C的Cocoa /openStep環境,所以必須安裝gcc和gcc和Objective-C支援的包,GNUstep的環境.
首先安裝gnustep和gobjc
sudo apt-get install gobjc gnustep gnustep-devel
弄個Hello world的代碼嘗試編譯一次
#import <stdio.h>
int main( int argc, const char * argv[] ) {
printf("hello world/n");
return 0;
}
然後執行編譯:
gcc hello.m -o hello
如果調用到了 object-c的庫, 以上編譯命令會出錯, 需要用下面命令:
gcc `gnustep-config --objc-flags` -lgnustep-base hello.m -o hello
然後允許代碼看看
./hello
輸入了
hello world
OK了
//這是我的測試代碼:
#import <stdio.h>
#import <Foundation/Foundation.h>
int main( int argc, const char * argv[] ) {
printf(" say: hello world/n");
printf("use the foudation/n");
NSLog(@"NSlog Object C/n");
return 0;
}
output:
host@host-laptop:~$ gcc `g-o testconfig --objc-flags` -lgnustep-base test.m -o test
host@host-laptop:~$ ./test
say: hello world
use the foudation
2011-03-05 12:32:58.365 test[10910] NSlog Object C
host@host-laptop:~$