2012-07-27 10 views
6

स्टार्ट बटन में विजुअल स्टूडियो 2010 मेनू में "विजुअल स्टूडियो x64 win64 कमांड प्रॉम्प्ट", "विजुअल स्टूडियो x64 क्रॉस टूल्स कमांड प्रॉम्प्ट" और "विजुअल स्टूडियो कमांड प्रॉम्प्ट" के बीच क्या अंतर है?वीएस -2010 में विभिन्न कमांड शैल के बीच क्या अंतर है?

सबसे उपयोगी उत्तर के लिए, आइए हम अपने अज्ञान स्तर के बारे में स्पष्ट रहें: मैं माइक्रोसॉफ्ट या आईडीई सामान्य रूप से किसी भी चीज़ पर गुरु की तुलना में नोब के करीब हूं। लिनक्स में लंबे समय के विशेषज्ञ, एक सादे पाठ संपादक, हस्तनिर्मित मेकफ़ाइल, आदि में संपादन स्रोत

मुझे यकीन है कि मतभेद सरल हैं, शायद वीएस -2010 में मामूली अनुभव वाले किसी भी व्यक्ति के लिए "स्पष्ट"। ताकि आप cl.exe और अन्य निर्माण उपकरण आसानी से चला सकते हैं

+0

शायद सिर्फ वातावरण चर, लेकिन मैं कौन सा बेतकल्लुफ़ पता नहीं है; 'env' चलाने का प्रयास करें और परिणामों की तुलना – Frobzig

+1

@Frobzig: Windows कमांड खोल में, जो आदेश आप चाहते हैं वह 'set' है, न कि' env'। –

उत्तर

4

अलग बैच फ़ाइलों PATH, LIB, INCLUDE और LIBPATH समायोजित करें।

+0

लेकिन क्यों तीन भिन्नताएं? – DarenW

+8

64 बिट मशीन पर x64 संस्करण चलाने के बाद, आप किसी भी पूर्ण पथ निर्दिष्ट किए बिना 64-बिट ऑब्जेक्ट फ़ाइलों और 64-बिट पुस्तकालयों के विरुद्ध लिंक बना सकते हैं क्योंकि वे सभी पर्यावरण चर में हैं। क्रॉस टूल्स 32-बिट मशीन पर 64-बिट बाइनरी बनाने के लिए है और अंतिम 32-बिट बिल्डों के लिए है। – IronMensan

+4

यह उत्तर होना चाहिए, टिप्पणी नहीं। – DarenW

1

यह उत्तर ज्यादातर VS2013 पर केंद्रित है। माइक्रोसॉफ्ट के प्रलेखन http://msdn.microsoft.com/en-us/library/ms229859%28v=vs.110%29.aspx कहता है:

विजुअल स्टूडियो 2010 के साथ शुरू, आप कई आदेश संकेत देख सकते हैं, दृश्य स्टूडियो के संस्करण और किसी भी अतिरिक्त SDKs आप स्थापित किया है पर निर्भर करता है। उदाहरण के लिए, विजुअल स्टूडियो के 64-बिट संस्करण 32-बिट और 64-बिट कमांड प्रॉम्प्ट प्रदान करते हैं। (सबसे उपकरणों के 32-बिट और 64-बिट संस्करण के समान हैं, लेकिन, कुछ उपकरण 32-बिट और 64-बिट वातावरण के लिए विशिष्ट परिवर्तन करें।)

यह, बल्कि unhelpfully जोड़ता है:

व्यक्तिगत उपकरण के लिए प्रलेखन जांचें कि यह निर्धारित करने के लिए कि कमांड प्रॉम्प्ट का कौन सा संस्करण उपयोग करना चाहिए।

पेज http://msdn.microsoft.com/en-us/library/jj153218.aspx सूचियों पाँच ऐसे आदेश संकेतों:

  • डेवलपर कमांड प्रॉम्प्ट VS2013 के लिए
  • VS2013 एआरएम क्रॉस उपकरण कमांड प्रॉम्प्ट
  • VS2013 64 क्रॉस उपकरण कमांड प्रॉम्प्ट
  • VS2013 x64 मूल उपकरण कमांड प्रॉम्प्ट
  • वीएस2013 x86 मूल उपकरण कमांड प्रॉम्प्ट

मेरी मशीन, केवल 1, 3, और इन मौजूद हैं, और वे लॉन्च करते हैं, क्रमशः की 5 वीं पर:

% comspec%/k "" C: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 12.0 \ कॉमन 7 \ टूल्स \ VsDevCmd.bat " % comspec%/k" "सी: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 12.0 \ वीसी \ vcvarsall.bat x86_amd64 % comspec%/k "" C: \ प्रोग्राम फ़ाइलें (x86) \ माइक्रोसॉफ्ट विजुअल स्टूडियो 12.0 \ कुलपति \ vcvarsall.bat "" 86

वातावरण चर की जाँच करने के लिए, ०१२३१३१६९० चल पहले और "x86 मूल" गोले के लिएकमांड समान मेरी मशीन पर परिणाम देता है। और mmohamad का उत्तर टीपी Difference between VsDevCmd.bat & vcvarsall.bat in VS2012 इस से सहमत है।

लेकिन "64 क्रॉस" अलग है: अंतर है (संक्षिप्तता के लिए Path और LIBPATH को छोड़कर):

+ CommandPromptType=Cross 
+ FrameworkDIR64=C:\WINDOWS\Microsoft.NET\Framework64 
+ FrameworkVersion64=v4.0.30319 
+ Platform=x64 
- LIB=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIB;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x86; 
+ LIB=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\LIB\amd64;C:\Program Files (x86)\Windows Kits\8.1\lib\winv6.3\um\x64;