2016-04-25 11 views
6

64 बिट संकलक मैं टेम्पलेट्स के बहुत से एक सी ++ परियोजना है और यह fatal error C1060: compiler is out of heap space साथ संकलित करने के लिए विफल रहता है। बहुत सी मुफ्त रैम है। मैंने/जेएम कंपाइलर विकल्प के साथ भुगतान करने का प्रयास किया, लेकिन इससे मदद नहीं मिली। मैं देख सकता हूं कि विजुअल स्टूडियो कंपाइलर के 32 बिट संस्करण का उपयोग करता है और मुझे लगता है कि यह इस त्रुटि का कारण है। क्या विजुअल स्टूडियो को 64 बिट कंपाइलर का उपयोग करने के लिए मजबूर करने का कोई तरीका है?का उपयोग दृश्य C++ 2015

अद्यतन

मेरा प्रश्न एक नकली नहीं है। मैंने दूसरे प्रश्नों को देखा और सुझावों की कोशिश की। लेकिन मेरे मामले में संकलक परियोजना को संकलित करने के लिए 6 जीबी से अधिक रैम लेता है। यह 64 बिट कंपाइलर द्वारा आवंटित रैम की अधिकतम मात्रा थी। जब मेरी परियोजना msbuild का उपयोग कर निर्माण मैं 64 बिट संकलक उपयोग कर सकते हैं, लेकिन मैं दृश्य स्टूडियो से यह निर्माण करना चाहते हैं और यह डिफ़ॉल्ट रूप से 32 बिट संकलक उपयोग कर रहा है। मैं इसे 64 बिट कंपाइलर का उपयोग करने के लिए मजबूर करना चाहता हूं। द्वारा 64 बिट संकलक मैं संकलक है कि न केवल एक 64 बिट अनुप्रयोगों बनाता है, लेकिन जो एक 64 बिट आवेदन ही है मतलब है।

+0

इस प्रश्न को देखें और @Colin रॉबर्टसन की टिप्पणी – RomCoo

+1

को आजमाएं? https://msdn.microsoft.com/en-us/library/yz7kx3y2.aspx –

+2

संभावित डुप्लिकेट [दृश्य स्टूडियो कंपाइलर क्रैश के आसपास कैसे काम करें] (http://stackoverflow.com/questions/1388608/how-to- वर्क-ऑर-विज़ुअल-स्टूडियो-कंपाइलर-क्रैश) –

उत्तर

0

टिप्पणियाँ इस समस्या का समाधान एक साथ निष्पादन निर्देशिकाएँ बदलने के लिए था में हंस Passant द्वारा सुझाव दिया गया है 64 बिट binaries के लिए उस बिंदु है। ऐसा करने के लिए आपको C++ प्रोजेक्ट गुणों पर जाना होगा -> वीसी ++ निर्देशिकाएं -> विजुअल स्टूडियो में निष्पादन योग्य निर्देशिकाएं और $ (VC_ExecutablePath_x64_x64) के साथ मान को प्रतिस्थापित करें; $ (WindowsSDK_ExecutablePath_x64); $ (VS_ExecutablePat h); $ (MSBuild_ExecutablePath) ; $ (FxCopDir); $ (पथ)

यह परिवर्तन दृश्य स्टूडियो उपयोग 64 बिट सी ++ संकलक बनाता है।

1

https://msdn.microsoft.com/en-us/library/f2ccy3wt.aspx?f=255&mspperror=-2147217396#Anchor_1 की चर्चा करते हुए संकलक जो 64 64-बिट निवासी है इस्तेमाल किया जा सकता।

ऐसा करने के लिए, जैसा कि https://msdn.microsoft.com/en-us/library/x4d2c09s.aspx#Anchor_0, पर vcvarsall amd64 पर कमांड प्रॉम्प्ट पर बताया गया है।

आप devenv कमांड लाइन बनाता है के लिए उपयोग कर रहे हैं, पर्यावरण vcvarsall.bat द्वारा या करता vcvars32.bat सेट:

तब, जब कमांड लाइन पर devenv चल रहा है, /useenv विकल्प जोड़ने प्रभावित नहीं अपने बनाता है, जब तक कि आप भी /useenv विकल्प निर्दिष्ट।

संबंधित मुद्दे