2017-10-25 12 views
0

2Dゲームライブラリを使用してGoで非常に簡単なプログラムを書きました。GCCプログラムをコンパイルできません

package main 

import (
    "github.com/hajimehoshi/ebiten" 
    "github.com/hajimehoshi/ebiten/ebitenutil" 
) 

const screenWidth, screenHeight = 320, 240 

func update(screen *ebiten.Image) error { 
    ebitenutil.DebugPrint(screen, "Game test") 
    return nil; 
} 
func main() { 
    if err := ebiten.Run(update, screenWidth, screenHeight, 2, "Test"); err != nil { 
     panic(err) 
    } 
} 

しかし、これはコンパイルするためにGCCに依存しています。実行しているとき、私はこのメッセージが表示しています:

# github.com/go-gl/glfw/v3.2/glfw 
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in 
# github.com/go-gl/gl/v2.1/gl 
cc1.exe: sorry, unimplemented: 64-bit mode not compiled in 

私はこの問題を修正するためのMinGW-W64をダウンロードしようとしましたが、それは成功していません。

これを解決するにはどうすればよいですか?

答えて

2

したがって、Cコンパイラは64ビットコンパイルをサポートしていません。これを解決する1つの方法は、32ビットモードで構築することです。 Goは、デフォルトではシステム・アーキテクチャーを構築しようとしますが、構築する前に環境変数GOARCH=386を設定することでその動作を変更できます。 Windowsでは、あなたのCMDにこれを入力することができます。

set GOARCH=386 
go build 

あなたはこのコンテンツに簡単な.batバッチスクリプトを作成し、実行することができ、あなたが構築したいときに。

64ビットシステムでは32ビットプログラムが正常に動作することに注意してください。これは、他の人に.exeを与えると、他の依存関係を考慮しないで自分のシステム上で実行されるようにするための良い方法です。

64ビットアプリケーションをビルドする代わりにCコンパイラをアップグレードする場合は、this SO threadを参照してください。

関連する問題