2009-10-30 12 views
11

मुझे विजुअल स्टूडियो में किसी अन्य बिल्ड सिस्टम में बिल्डिंग से डीएलएल का निर्माण करना होगा। डीएलएल समाधान मेरे द्वारा नहीं बनाया गया था और इसमें बहुत से संशोधित कमांड लाइन स्विच आदि हैं। मैंने विजुअल स्टूडियो केमैं विजुअल स्टूडियो से सटीक कंपाइलर कमांड लाइन कैसे प्राप्त कर सकता हूं?

प्रोजेक्ट गुणों -> कॉन्फ़िगर गुण -> सी/सी ++ -> कमांड से संकलक/लिंकर विकल्पों की प्रतिलिपि बनाई है। रेखा परियोजना गुण -> कॉन्फ़िगरेशन गुण -> लिंकर -> कमांड लाइन

हालांकि, जब मैं अपने अन्य निर्माण उपकरण से डीएलएल का निर्माण करता हूं (और मैंने एक साधारण बैच फ़ाइल भी कोशिश की है) डीएलएल थोड़ा अलग आकार है और डीएलएल का उपयोग होने पर कभी-कभी दुर्घटना का कारण बनता है (जिसे वी स्टूडियो द्वारा निर्मित किया गया है)।

तो मेरे सवाल है:

  1. वहाँ क्या विज़ स्टूडियो गुण पेज में है की तुलना में सटीक कमांड लाइन को देखने के लिए एक बेहतर तरीका है? (मुझे आशा है कि यह करने के लिए जवाब नहीं है!)

  2. विज़ स्टूडियो क्या कमांड लाइन पर हो रहा है से परे किसी भी पागल जादू करता है :-)

उत्तर

9

कुछ को ध्यान में रखना है कि कमांड लाइन है विकल्पों को प्रति-स्रोत फ़ाइल भी सेट किया जा सकता है, केवल प्रति-प्रोजेक्ट नहीं, जो कि आप जो खो रहे हैं वह हो सकता है।

बिल्डिंग लॉग को देखने के लिए जो कुछ भी हो रहा है उसे देखने का एक तरीका है। आउटपुट व्यू में निर्माण के अंत में, आपको एक लाइन देखना चाहिए:

बिल्ड लॉग "फ़ाइल पथ" पर सहेजा गया था।

आउटपुट दृश्य में फ़ाइल पथ पर Ctrl-क्लिक करें और यह लॉग फ़ाइल लोड करेगा, और आपको प्रत्येक फ़ाइल के लिए सभी कमांड लाइनों को देखना चाहिए।

अद्यतन:

इस उत्तर को विजुअल स्टूडियो 2008 के लिए था अब आप दृश्य स्टूडियो के नए संस्करण में उत्पादन विंडो में लिंक मिलता है। इसके बजाय आपको लॉग फ़ाइल देखने के लिए अपनी प्रोजेक्ट के लिए बिल्ड निर्देशिका पर नेविगेट करना होगा। यहाँ देखें:

https://msdn.microsoft.com/en-us/library/jj651643.aspx

असल में उस लिंक से थोड़ा गलत है। लॉग फ़ाइल में .txt के बजाय एक .log एक्सटेंशन है।

+0

इसके लिए धन्यवाद! मैंने बिल्ड लॉग से मेरी समस्या का पता लगाया। मेरे पास सभी संकलन/लिंक सही थे लेकिन मैंने डीएलएल में मैनिफेस्ट नहीं जोड़ा था जो इसे रन टाइम पर लिंक करने में विफल रहा था। मैं लिनक्स पृष्ठभूमि से हूं इसलिए डीएलएल और उनकी सभी जटिलताओं के बारे में ज्यादा जानकारी नहीं थी। – Benj

+0

मुझे यह नहीं दिखाई देता है। मुझे जो भी बनाया गया है, वह सब एक लिंक है, जिसे "फ़ाइल पथ पर बिल्ड लॉग सहेजा गया था" भाग के साथ। –

+0

@ ब्रिस सैंडलंड राज्यों के रूप में, बिल्ड आउटपुट हमेशा लॉग फ़ाइल पथ नहीं देता है (मुझे संदेह है कि यह एक लॉग भी लिखता है)। हालांकि आपके यूआई में वर्बोज़/डीबग आउटपुट हो सकता है: मेनू टूल्स> विकल्प; प्रोजेक्ट्स एंड सॉल्यूशंस> बिल्ड एंड रन> एमएसबिल्ड प्रोजेक्ट बिल्ड आउटपुट वर्बोजिटी। व्यक्तिगत रूप से मैं एक 'विस्तृत' लॉग के साथ जाने की सलाह दूंगा, आमतौर पर इसे आपको वांछित जानकारी देना चाहिए। –

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