2016-04-25 14 views
6

Ho un progetto C++ con molti modelli e non riesce a compilare con fatal error C1060: compiler is out of heap space. C'è abbondanza di RAM gratuita. Ho provato a pagare con l'opzione di compilatore/Zm, ma non ha aiutato. Posso vedere che Visual Studio utilizza la versione a 32 bit del compilatore e penso che questo sia il motivo di questo errore. Esiste un modo per forzare Visual Studio a utilizzare il compilatore a 64 bit?Utilizzo del compilatore a 64 bit in Visual C++ 2015

UPDATE

La mia domanda non è un duplicato. Ho visto le altre domande e ho provato i suggerimenti. Ma nel mio caso il compilatore richiede più di 6 GB di RAM per compilare il progetto. Era la quantità massima di RAM allocata dal compilatore a 64 bit. Posso usare il compilatore a 64 bit quando costruisco il mio progetto usando msbuild, ma voglio costruirlo da Visual Studio e usa il compilatore a 32 bit per impostazione predefinita. Voglio forzarlo per usare il compilatore a 64 bit. Con il compilatore a 64 bit intendo il compilatore che non solo crea un'applicazione a 64 bit, ma che è un'applicazione a 64 bit.

+0

Guarda questa domanda e prova il commento di @Colin Robertson – RomCoo

+1

hai provato? https://msdn.microsoft.com/en-us/library/yz7kx3y2.aspx –

+2

Possibile duplicato di [Come aggirare i crash di Visual Studio Compiler] (http://stackoverflow.com/questions/1388608/how-to- work-around-visual-studio-compiler-crashes) –

risposta

0

Come suggerito da Hans Passant nei commenti la soluzione a questo problema è stato quello di modificare le directory eseguibile con l'uno è quel punto per i binari a 64bit. Per fare ciò è necessario andare alle proprietà del progetto C++ -> Directory VC++ -> Directory eseguibili in Visual Studio e sostituire il valore con $ (VC_ExecutablePath_x64_x64); $ (WindowsSDK_ExecutablePath_x64); $ (VS_ExecutablePat h); $ (MSBuild_ExecutablePath) ; $ (FxCopDir); $ (PATH)

Questa modifica fa sì che Visual Studio utilizzi il compilatore C++ a 64 bit.

1

Facendo riferimento alla https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx?f=255&mspperror=-2147217396#Anchor_1, compilatore che è x64 64-bit nativo può essere utilizzato.

Per fare ciò, come indicato su https://msdn.microsoft.com/en-us/library/x4d2c09s.aspx#Anchor_0, eseguire vcvarsall amd64 al prompt dei comandi.

Poi, quando si esegue devenv sulla riga di comando, aggiungere l'opzione /useenv:

Se si utilizza devenv per riga di comando costruisce, l'ambiente impostato dal vcvarsall.bat o Vcvars32.bat fa non influisce sulle build, a meno che non sia anche l'opzione specifichi l'opzione/useenv.

Problemi correlati