Questo è il problema più strano che abbia mai incontrato. Ho installato il mio ambiente di sviluppo Go su una macchina virtuale Windows 2008 R2. Non riesco nemmeno a riavviarlo né a eseguire l'aggiornamento di Windows.Non riesco a eseguire i programmi Go più
Oggi mi sono appena reso conto che non posso più eseguire programmi Go. Posso creare ed eseguire test unitari con successo con 'go test'. Tuttavia, l'esecuzione di qualsiasi programma Go compilato, (anche Hello World) fa apparire una finestra pop-up intitolata "Applicazione 16-bit non supportata". Il messaggio di errore è il seguente:
La versione di questo file non è compatibile con la versione di Windows in esecuzione. Controlla le informazioni di sistema del tuo computer per vedere se hai bisogno di una versione x86 (32-bit) o x64 (64-bit) del programma , quindi contatta l'editore del software.
Il risultato è lo stesso indipendentemente dalla versione di Go I (x86/x64). Si noti inoltre che non sto usando alcun IDE. Chiamo go.exe per creare/test dalla riga di comando.
Non riesco a capirmi perché funzionare "go test" funziona bene.
Qualche idea?
EDIT:
Ecco l'output della console quando costruire ed eseguire il programma:
È interessante notare che, dumpbin suggerisce che in effetti c'è qualcosa di sbagliato con l'eseguibile
C:\Program Files (x86)\Microsoft Visual Studio 11.0>dumpbin /headers
C:\Projects \GoPlayground\src\playground\playground.exe Microsoft (R)
COFF/PE Dumper Version 11.00.51106.1 Copyright (C) Microsoft
Corporation. All rights reserved.
Dump of file C:\Projects\GoPlayground\src\playground\playground.exe
File Type: LIBRARY
C:\Projects\GoPlayground\src\playground\playground.exe : warning
LNK4003: invali d library format; library ignored
C:\Projects\GoPlayground\src\playground\playground.exe : warning
LNK4048: Invali d format file; ignored
Summary
C:\Program Files (x86)\Microsoft Visual Studio 11.0>
Ed ecco il codice sorgente completo:
package playground
import "fmt"
import "playground/another"
func main() {
fmt.Println("Hello world!")
fmt.Println(another.Foobar(2))
}
-------------------
package another
func Foobar(i int) int {
return i + 1
}
EDIT2:
Ho reinstallato andare due volte senza alcun effetto.
Mostraci ciò che si fa, per esempio con un semplice ciao mondo mostra quali comandi si eseguono, dove si trovano i file che si compilano e qualcos'altro di interesse, come l'output di 'go -version – nos
Mostraci un esempio riproducibile: [Come creare un minimo, completo, e Esempio verificabile] (http://stackoverflow.com/help/mcve) – peterSO
Ok, ho appena aggiunto molte più informazioni. –