win8.1下golang+sdl2.0環境搭建

來源:互聯網
上載者:User
這是一個建立於 的文章,其中的資訊可能已經有所發展或是發生改變。
  • sdl2.0的golang綁定我是使用的這個,但是它的官方介紹裡面只有linux以及OSX系統的說明,沒有windows的,在我的mbp上弄好以後就考慮在win下也搭建一個開發環境,這樣就能比較方便的跨平台了。
  • 具體步驟如下:
  1. 配置go環境,可以參考官方文檔或者這裡。
  2. go get上面提到的庫,但是反覆提示如下錯誤:

    cc1.exe: sorry, unimplemented: 64-bit mode not compiled in

    後來發現只要用到了cgo就會報這個錯誤,因為我下載的是go 1.3.2 64位版本,但是本地的gcc是32位的。折騰了好久沒解決,一直沒能下載到64位的mingw,官方下載器每次都是下載一半的時候報錯,即使掛上代理也一樣,後來在sf.net上找到一位好心人做的離線下載包,然後將gcc加入path環境變數,才算能使用cgo了。
  3. 到此再build go-sdl的話,會提示找不到SDL2/SDL.h檔案,這個問題就更加折騰了,
    google了好久就沒人給出具體解決方案,就沒提cgo編譯的時候,對應的c檔案需要放在什麼目錄下面。也許太簡單不屑於提起吧,可是對於新手來說卻是比較麻煩的事情。有人說自己看源碼都能解決,確實是這個道理,但是請搞清楚首要目的:要學習使用golang來開發sdl程式。
  4. 開始我是嘗試將sdl的標頭檔放到github.com/veandco/go-sdl2/sdl目錄下,
    因為該目錄下本來就有一些c檔案,因此考慮cgo會搜尋目前的目錄,結果失敗了,它只能搜尋目前的目錄,一旦放到子目錄就不行。接下來嘗試使用絕對路徑,仍然失敗,不清楚為嘛。再下來想到cgo是通過gcc來編譯c代碼,因此將sdl官方下載的binary包(mingw版本)解壓放入gcc目錄(sdl官方的mingw包中應該包含了bin,include,lib,share這幾個目錄,直接將它們放到gcc根目錄下,與同名目錄覆蓋即可)
    然後go build,一切ok

至此,整個環境應該搞定了,let' 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.