Go?Go!(一) 編譯和安裝

來源:互聯網
上載者:User

安裝方法

安裝方法可以參考下面的urlhttp://golang.org/doc/install/gccgo

  1. 在svn上擷取代碼文檔什麼的:svn://gcc.gnu.org/svn/gcc/branches/gccgo
  2. 然後進入檔案夾,執行configure命令,在這裡需要注意,安裝最新的gcc需要一些編譯依賴,這些編譯依賴的安裝可以參考筆者的另外一篇文章支援c++0x的gcc的安裝
    執行configure的時候,需要一些編譯選項,這些選項的具體意義可以--help擷取,筆者使用的參數為:

    ./configure --prefix=$HOME --enable-languages=c,c++,go --with-arch-32=i586

    然後就是make && make install
    建議使用後台進行make,這個絕對是一次漫長的等待。。。

  3.  然後就完成啦,寫一個簡單的hello world吧:
    #helloWord.go                                                                                                                                package main                                                                                                                                 import "fmt"func main() {    fmt.Println("Hello, go的世界")}
  4. 然後就是編譯和連結
    $ gccgo -c helloWord.go          $ gccgo -o hello helloWord.o  
  5. 執行一下hello檔案,ok,歡迎來到GO的世界!~

按照上述方法安裝的時候出了一點問題,go的可執行程式沒有裝上,不能很爽的go install。。。

於是,再折騰了一次:

  1. 進入libgo的檔案夾內,執行./configure --prefix=$HOME --enable-sjlj-exceptions --enable-multilib=no --without-libffi 
  2. 然後修改Makefile中的CC為gccgo(前提是上面的安裝ok了,即gccgo安裝成功),執行make。接著等待,因為其中有-o2最佳化,編譯速度有點小慢。
  3. make install
然後,悲劇的發現go命令仍然不可用。。。哥只能用gccgo編譯麼。。。去網上找了另外一篇文檔,這個上面需要使用的是hg clone -u release https://go.googlecode.com/hg/ go這個不靠譜,哥再努力地找,可以使用如下路徑下載:http://go.googlecode.com/files/go1.0.2.linux-amd64.tar.gz這個是64位的linux版本,也可以去首頁找其他系統的版本。然後就簡單啦,設定環境變數,去src裡面sh ./all.sh世界一片清淨啦~P.S. 後來找了找網上的資料,發現gccgo和go都是可以的。。。
這讓我情何以堪?那就兩個都用吧。。。

在後續還會不斷更新go的一些語言特點。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.