2017-10-25 1 views
0

Ich schrieb ein sehr einfaches Programm in Go mit einer 2D-Spielbibliothek. DieseGCC konnte nicht kompiliert werden Go-Programm

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) 
    } 
} 

beruht jedoch auf GCC zu kompilieren. Beim Laufen, ich bin mit dieser Meldung angezeigt:

# 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 

Ich versuchte MinGW-w64 zum Download um das Problem zu beheben, aber es ist nicht erfolgreich.

Wie würde ich das Problem lösen?

Antwort

2

Ihr C-Compiler unterstützt keine 64-Bit-Kompilierung. Eine Möglichkeit, dies zu lösen, ist der 32-Bit-Modus. Go wird standardmäßig versuchen, für die Systemarchitektur zu erstellen, in der Sie sich befinden, Sie können dieses Verhalten jedoch ändern, indem Sie vor dem Erstellen die Umgebungsvariable GOARCH=386 festlegen. Unter Windows können Sie diese in Ihre Cmd:

set GOARCH=386 
go build 

Sie könnten einen einfachen .bat Batch-Skript mit diesem Inhalt erstellt und ausgeführt, dass, wenn Sie bauen wollen.

Beachten Sie, dass 64-Bit-Systeme 32-Bit-Programme problemlos ausführen können. Dies ist auch eine gute Möglichkeit, um sicherzustellen, dass, wenn Sie die .exe an jemand anderen geben, wird es auf ihrem System laufen (ohne Berücksichtigung anderer Abhängigkeiten).

Wenn Sie Ihren C-Compiler stattdessen aktualisieren möchten, um 64-Bit-Anwendungen zu erstellen, siehe this SO thread, vielleicht hilft das.

Verwandte Themen