龍芯8089D-Debian7 下搭建 Objective-C 編譯環境

來源:互聯網
上載者:User

標籤:http   java   使用   os   io   檔案   ar   cti   

龍芯8089D-Debian7 下搭建 Objective-C 編譯環境 目錄
  • 安裝相關檔案
  • 編譯參數說明
  • 簡化命令列參數
  • 實際編譯執行個體

簡單說明:Objective-C 的 C 檔案尾碼為 .m,標頭檔尾碼為 .h,例如我們在本教程中的常式就是 main.m

安裝相關檔案

需要安裝這些包:gccg++gobjcgnustepgnustep-develgnustep-gui-devlibgnustep-base-dev

安裝命令很簡單:

apt-get install gcc g++ gobjc gnustep gnustep-devel gnustep-gui-dev libgnustep-base-dev

安裝完畢之後就可以進行下一步了。

編譯參數說明

不同發行版的 Linux 下編譯 Objective-C 的命令參數略有不同,在 Debian 下需要這幾個參數:

`gnustep-config --objc-flags`-fconstant-string-class=NSConstantString-lobjc-lgnustep-base

另外需要指定標頭檔(include檔案)和庫檔案(lib檔案)的位置,在 Debian 下,它們的位置分別為 /usr/include/GNUstep//usr/lib/GNUstep/,參數如下:

-I /usr/include/GNUstep/-L /usr/lib/GNUstep/

把上述參數綜合起來的編譯命令如下:

gcc `gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -lobjc -lgnustep-base -I /usr/include/GNUstep/ -L /usr/lib/GNUstep/ -o main main.m

但是每次輸入這麼多參數就有些繁瑣了,接下來我們會把這一長串命令建立一個別名 alias

簡化命令列參數

建立別名的命令如下:

alias objcc=‘gcc `gnustep-config --objc-flags` -fconstant-string-class=NSConstantString -lobjc -lgnustep-base -I /usr/include/GNUstep/ -L /usr/lib/GNUstep/‘

要把這個命令儲存到系統的 ~/.bashrc 檔案中,很簡單,把這條命令拷貝到 .bashrc 中就可以了,然後執行一下:

source ~/.bashrc

以後編譯 Objective-C 檔案就可以使用別名 objcc 了,很簡單:

objcc -o main main.m

注意:在這條別名命令裡,分別使用了 單引號: ‘‘反引號: `` ,千萬不要混淆。

實際編譯執行個體

最後就是以一個實際的 Objective-C 程式例子來說明,下面是我們的常式 main.m 的內容:

#import <Foundation/Foundation.h>int main(int argc,const char * argv[]){    NSLog(@"hello world!");    return(0);}

把上述代碼儲存為 main.m,然後執行:

objcc -o main main.m

目前的目錄下就會產生一個名為 main 的可執行檔。

需要說明的是,這個可執行檔只能在 Debian 下運行,如果想在 Debian 下編譯出能在 OSX 下啟動並執行可執行檔,還需要一些額外的交叉編譯參數,這裡就不詳述了。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.