Come compilare un'applicazione a 64 bit utilizzando Visual C ++ 2010 Express?


128

Esiste un modo semplice per compilare un'app a 64 bit con l'edizione a 32 bit di Visual C ++ 2010 Express? Quali configurazioni, se presenti, sono necessarie?

Risposte:


181

Ecco le istruzioni dettagliate:

  1. Scarica e installa Windows Software Development Kit versione 7.1. Visual C ++ 2010 Express non include un compilatore a 64 bit, ma SDK lo fa. Un collegamento all'SDK: http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx
  2. Cambia la configurazione del tuo progetto. Vai a Proprietà del tuo progetto. Nella parte superiore della finestra di dialogo è presente un menu a discesa "Configurazione". Assicurati che selezioni "Tutte le configurazioni". Ci sarà anche un menu a discesa "Piattaforma" che leggerà "Win32". Finalmente a destra c'è un pulsante "Configuration Manager" - premilo. Nella finestra di dialogo che viene visualizzata, trova il tuo progetto, premi il menu a discesa Piattaforma, seleziona Nuovo, quindi seleziona x64. Ora modifica il menu a discesa "Piattaforma soluzione attiva" in "x64". Quando si ritorna alla finestra di dialogo Proprietà, il menu a discesa "Piattaforma" dovrebbe ora leggere "x64".
  3. Infine, cambia il tuo set di strumenti. Nel menu Proprietà del progetto, in Proprietà di configurazione | Generale, cambiare il set di strumenti della piattaforma da "v100" a "Windows7.1SDK".

Questi passaggi hanno funzionato per me, comunque. Alcuni ulteriori dettagli sul passaggio 2 sono disponibili in un riferimento di Microsoft menzionato da un precedente poster: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx .


2
Congratulazioni: la tua risposta ti ha appena guadagnato 275 rappresentanti. Grazie per una risposta fantastica!
Nathan Osman,

Ho Windows XP ma l'SDK è per Windows 7. Funzionerà ancora?
0x499602D2

@ 0x499602D2: non lo so. Spero che se le versioni di Visual C ++ e SDK fossero uguali, lo farebbe. Hai provato?
Matt,

2
Questo ha funzionato per me solo dopo aver installato le patch 3 e 4 menzionate qui: stackoverflow.com/a/8334985/429873
Dmitry Trofimov

1
@Matt: tutto questo funziona per me su WinXP 64 bit. Qual è il motivo per cambiare Platform Toolset in Win7.1SDK?
IgorStack,

48

Gli strumenti a 64 bit non sono disponibili su Visual C ++ Express per impostazione predefinita. Per abilitare gli strumenti a 64 bit su Visual C ++ Express, installare il Software Development Kit (SDK) di Windows oltre a Visual C ++ Express. In caso contrario, si verifica un errore quando si tenta di configurare un progetto per indirizzare una piattaforma a 64 bit utilizzando Visual C ++ Express.

Procedura: configurare progetti Visual C ++ per le piattaforme di destinazione a 64 bit

Rif: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx


è disponibile per VB 2010 Express?
Remus Rigo,

Per qualche motivo il mio $ (WindowsSdkDir) non sembrava funzionare correttamente, ma una volta aggiunto manualmente i percorsi assoluti ha funzionato un campione.
rogerdpack,

5
Dopo aver seguito le istruzioni ho continuato a ottenere pagine di proprietà vuote per la piattaforma x64. Ho dovuto installare l'aggiornamento dei compilatori qui . Maggiori informazioni su KB2519277 .
Kipkennedy,

14

E assicurati di scaricare l' SDK di Windows7 .1 , non solo quello di Windows 7. Questo mi ha causato un sacco di mal di testa.


9

Ho trovato un passaggio importante da aggiungere a questo: dopo aver installato l'SDK, vai alle proprietà del tuo progetto e modifica Proprietà di configurazione-> Generale-> Platform Toolset da v100 o qualunque cosa sia Windows7.1SDK. Questo cambia $ (WindowsSdkDir) nel posto giusto e sembrava risolvere anche alcune altre difficoltà che stavo incontrando.


5

Si noti che i compilatori di Visual C ++ vengono rimossi quando si aggiorna Visual Studio 2010 Professional o Visual Studio 2010 Express a Visual Studio 2010 SP1 se è installato Windows SDK v7.1.

Per istruzioni su come risolverlo, consultare l'articolo KB2519277 sul sito del supporto Microsoft.


5
Questo sarebbe meglio servito come commento dal momento che in realtà non risponde alla domanda a portata di mano.
Segugio di sicurezza,

4

Scarica l'SDK di Windows e vai su Visualizza-> Proprietà-> Gestione configurazione-> Piattaforma soluzione attiva-> Nuovo-> x64.


1
qual è il programma da eseguire? Non trovo alcun programma con una "Vista" disponibile
Stéphane Laurent,

3

La programmazione in un ambiente a 64 bit è abbastanza diversa dall'ambiente a 32 bit. Il codice generato ha una costituzione di assiemi totalmente diversa nel codice a 32 e 64 bit, anche i protocolli di comunicazione con le funzioni cambiano. Quindi non è possibile generare codice a 64 bit utilizzando il compilatore a 32 bit.

Potresti voler visualizzare un articolo sul sito Web di Microsoft sul targeting di una destinazione a 64 bit ma utilizzando una macchina di sviluppo a 32 bit.


La risposta fornita è secondo la documentazione Intel
perilbrain,

Sì, è vero che eventuali dipendenze dovranno essere (ri) compilate utilizzando anche il compilatore a 64 bit, altrimenti il ​​passaggio del collegamento fallirà.
rogerdpack,

2

Come ha affermato Jakob: Windows SDK 7.1 non può essere installato se sono presenti runtime di MS VC ++ x64 e x86 e redisrtibutables della versione 10.0.40219. dopo averli rimossi, l'installazione di sdk va bene, VS C ++ SP1 può essere installato di nuovo correttamente.

Cordiali saluti

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.