2016-04-25 12 views
6

Çok sayıda şablon içeren bir C++ projem var ve fatal error C1060: compiler is out of heap space ile derlenemiyor. Bol miktarda boş RAM var./Zm derleyici seçeneği ile ödeme yapmayı denedim, ama yardımcı olmadı. Visual Studio'nun derleyicinin 32 bit sürümünü kullandığını görebiliyorum ve bence bu hatanın sebebi de bu. Visual Studio'yu 64 bit derleyiciyi kullanmak için zorlamak için herhangi bir yolu var mı?Visual C++ 2015'te 64 bit derleyiciyi kullanma

GÜNCELLEME

Sorum bir kopyası olmaması gerekir. Diğer soruları gördüm ve önerileri denedim. Ama benim durumumda derleyici projeyi derlemek için 6 GB'den fazla RAM alıyor. 64 bit derleyici tarafından ayrılan maksimum RAM miktarıydı. Projemi msbuild kullanarak oluştururken 64 bit derleyiciyi kullanabilirim, ancak Visual Studio'dan oluşturmak ve varsayılan olarak 32 bit derleyiciyi kullanmak istiyorum. 64 bit derleyiciyi kullanmak için zorlamak istiyorum. 64 bit derleyici ile derleyici sadece 64 bit uygulamalar yaratmıyor, aynı zamanda 64 bitlik bir uygulama.

+0

Bu soruya göz at ve @Colin Robertson yorumunu denedin – RomCoo

+1

bunu denedin mi? https://msdn.microsoft.com/en-us/library/yz7kx3y2.aspx –

+2

Olası çoğaltılabilir [Visual Studio Derleyici çökmelerine nasıl çalışılır] (http://stackoverflow.com/questions/1388608/how-to- görsel-işitsel-stüdyo-derleyici-çökmeler) –

cevap

0

64bit binarylerine bu nokta. Bunu yapmak için C++ proje özellikleri -> VC++ Dizinleri -> Visual Studio'da Yürütülebilir Dizinler'e gitmeniz ve değeri $ (VC_ExecutablePath_x64_x64); $ (WindowsSDK_ExecutablePath_x64); $ (VS_ExecutablePat‌ h); $ (MSBuild_ExecutablePath) ile değiştirmeniz gerekir. $ (FxCopDir); $ (PATH)

Bu değişiklik, Visual Studio'nun 64 bit C++ derleyicisini kullanmasını sağlar.

1

64 64 bit yerli derleyici kullanılabilir https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx?f=255&mspperror=-2147217396#Anchor_1 atfen.

https://msdn.microsoft.com/en-us/library/x4d2c09s.aspx#Anchor_0, numaralı belgelerde belirtildiği gibi, komut isteminde vcvarsall amd64'u çalıştırın. Eğer devenv komut satırı oluşturur için kullanıyorsanız, vcvarsall.bat veya yapar Vcvars32.bat set ortamı

: komut satırında devenv çalıştırırken Sonra

, /useenv seçeneği eklemek da da/useenv seçeneğini belirtmediğiniz sürece, yapılarınızı etkilemez. Bu sorunun çözümü biriyle yürütülebilir Dizinler değiştirmekti yorumlarda Hans Passant önerdiği gibi