विजुअल C ++ 2010 एक्सप्रेस का उपयोग करके 64-बिट एप्लिकेशन को कैसे संकलित करें?


128

विजुअल C ++ 2010 एक्सप्रेस के 32-बिट संस्करण के साथ 64 बिट ऐप को संकलित करने का एक सरल तरीका है? क्या विन्यास, यदि कोई हो, आवश्यक हैं?

जवाबों:


181

यहाँ कदम से कदम निर्देश हैं:

  1. विंडोज सॉफ्टवेयर डेवलपमेंट किट संस्करण 7.1 डाउनलोड और इंस्टॉल करें। दृश्य C ++ 2010 एक्सप्रेस में 64 बिट संकलक शामिल नहीं है, लेकिन एसडीके करता है। SDK का एक लिंक: http://msdn.microsoft.com/en-us/windowsserver/bb9809n.nx
  2. अपना प्रोजेक्ट कॉन्फ़िगरेशन बदलें। अपनी परियोजना के गुणों पर जाएं। संवाद बॉक्स के शीर्ष पर एक "कॉन्फ़िगरेशन" ड्रॉप-डाउन मेनू होगा। सुनिश्चित करें कि "सभी कॉन्फ़िगरेशन" का चयन करता है। एक "प्लेटफ़ॉर्म" ड्रॉप-डाउन भी होगा जो "विन 32" पढ़ेगा। अंत में दाईं ओर एक "कॉन्फ़िगरेशन प्रबंधक" बटन है - इसे दबाएं। जो डायलॉग आता है, उसमें अपना प्रोजेक्ट ढूंढें, प्लेटफ़ॉर्म ड्रॉप-डाउन को हिट करें, नया चुनें, फिर x64 चुनें। अब "सक्रिय समाधान मंच" ड्रॉप-डाउन मेनू को "x64" में बदलें। जब आप गुण संवाद बॉक्स में लौटते हैं, तो "प्लेटफ़ॉर्म" ड्रॉप-डाउन को अब "x64" पढ़ना चाहिए।
  3. अंत में, अपना टूलसेट बदलें। कॉन्फ़िगरेशन गुण के अंतर्गत, आपके प्रोजेक्ट के गुण मेनू में | सामान्य, प्लेटफ़ॉर्म टूलसेट को "v100" से "Windows7.1SDK" में बदलें।

इन चरणों ने मेरे लिए, वैसे भी काम किया है। चरण 2 पर कुछ और विवरण Microsoft के एक संदर्भ में पाए जा सकते हैं जो पिछले पोस्टर में उल्लिखित है: http://msdn.microsoft.com/en-us/library/9yb4317s.aspx


2
बधाई - आपके उत्तर ने आपको केवल 275 प्रतिनिधि अर्जित किए। एक भयानक जवाब के लिए धन्यवाद!
नाथन उस्मान

मेरे पास विंडोज एक्सपी है लेकिन एसडीके विंडोज 7 के लिए है। क्या यह अभी भी काम करेगा?
0x499602D2

@ 0x499602D2: मुझे नहीं पता। मुझे उम्मीद है कि अगर विजुअल C ++ और SDK वर्जन समान होते तो ऐसा होता। क्या तुमने कोशिश की?
मैट

2
पैच 3 और 4 को यहाँ स्थापित करने के बाद ही मेरे लिए यह काम किया गया: stackoverflow.com/a/8334985/429873
दिमित्री ट्रोफिमोव

1
@ मैट: यह सब मेरे लिए WinXP 64 बिट पर काम करता है। प्लेटफ़ॉर्म टूलसेट को Win7.1SDK में बदलने का क्या कारण है?
इगोरस्टैक

48

डिफ़ॉल्ट रूप से Visual C ++ एक्सप्रेस पर 64-बिट उपकरण उपलब्ध नहीं हैं। Visual C ++ एक्सप्रेस पर 64-बिट टूल को सक्षम करने के लिए, Visual C ++ एक्सप्रेस के अतिरिक्त Windows सॉफ़्टवेयर डेवलपमेंट किट (SDK) स्थापित करें। अन्यथा, दृश्य C ++ एक्सप्रेस का उपयोग करके 64-बिट प्लेटफ़ॉर्म को लक्षित करने के लिए प्रोजेक्ट को कॉन्फ़िगर करने का प्रयास करते समय एक त्रुटि उत्पन्न होती है।

कैसे करें: 64-बिट प्लेटफार्मों को लक्षित करने के लिए विजुअल C ++ प्रोजेक्ट्स कॉन्फ़िगर करें

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


क्या यह VB 2010 एक्सप्रेस के लिए उपलब्ध है?
Remus Rigo

किसी कारण से मेरा $ (WindowsSdkDir) सही काम नहीं कर रहा था, लेकिन एक बार जब मैंने पूर्ण पथों में जोड़ दिया, तो यह मैन्युअल रूप से काम करता था।
23

5
निर्देशों का पालन करने के बाद मुझे x64 प्लेटफॉर्म के लिए रिक्त संपत्ति पृष्ठ मिलते रहे। मुझे यहां कंपाइलर्स अपडेट इंस्टॉल करना था । अधिक जानकारी KB2519277 पर
कीपेंकेनडी

14

और सुनिश्चित करें कि आप विंडोज 7 .1 एसडीके डाउनलोड करें , न कि केवल विंडोज 7 एक। जिसके कारण मुझे बहुत अधिक सिर फोड़ना पड़ा।


9

मुझे इसे जोड़ने के लिए एक महत्वपूर्ण कदम मिला - एसडीके को स्थापित करने के बाद, अपने प्रोजेक्ट गुणों पर जाएं और कॉन्फ़िगरेशन गुण-> सामान्य-> प्लेटफ़ॉर्म टूलसेट को v100 से या जो भी यह Windows7.1SDK है, को बदलें। यह $ (WindowsSdkDir) को उचित स्थान पर बदलता है और कुछ अन्य कठिनाइयों को हल करने के लिए लग रहा था जो मुझे भी मिल रहे थे।


5

ध्यान दें कि जब आप Windows SDK v7.1 स्थापित होता है तो Visual Studio 2010 Professional या Visual Studio 2010 Express को Visual Studio 2010 SP1 में अपग्रेड करते समय Visual C ++ कंपाइलर हटा दिए जाते हैं।

इसे हल करने के निर्देशों के लिए, Microsoft समर्थन साइट पर KB2519277 देखें ।


5
यह एक टिप्पणी के रूप में बेहतर होगा क्योंकि यह वास्तव में सवाल का जवाब नहीं देता है।
सिक्योरिटी हाउंड

4

विंडोज एसडीके डाउनलोड करें और फिर देखें-> गुण-> कॉन्फ़िगरेशन प्रबंधक-> सक्रिय समाधान मंच-> नया-> x64।


1
क्या कार्यक्रम चलाने के लिए है? मुझे कोई भी कार्यक्रम "व्यू" उपलब्ध नहीं है
स्टीफन लॉरेंट

3

64-बिट वातावरण में प्रोग्रामिंग 32-बिट वातावरण की तुलना में काफी अलग है। उत्पन्न कोड में 32 और 64-बिट कोड में पूरी तरह से अलग विधानसभा संविधान है, यहां तक ​​कि फ़ंक्शन के साथ संचार करने के प्रोटोकॉल भी। तो आप 32-बिट संकलक का उपयोग करके 64-बिट कोड उत्पन्न नहीं कर सकते।

आप 64-बिट लक्ष्य पर 32-बिट विकास मशीन का उपयोग करने के बारे में Microsoft की वेब साइट पर एक लेख देखना चाहते हैं ।


दिया गया जवाब इंटेल डॉक्यूमेंटेशन के अनुसार है
perilbrain

हां यह सही है कि किसी भी आश्रित को 64 बिट संकलक का उपयोग करके (फिर से) संकलित करना होगा, या लिंक चरण विफल हो जाएगा।
रोज़गारपॉप

2

जैसा कि जैकब ने कहा था: यदि MS VC ++ x64 और x86 रनटाइम्स और संस्करण 10.0.40219 के redisrtibutables मौजूद हैं तो sdk 7.1 स्थापित नहीं किया जा सकता है। उन्हें हटाने के बाद sdk install जीतना ठीक है, VS C ++ SP1 को फिर से ठीक किया जा सकता है।

सधन्यवाद

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.