में वीसी ++ निर्देशिकाओं को ओवरराइड करने के लिए .vsprops फ़ाइल का उपयोग कैसे करें I संकलक और लाइब्रेरी पथों के लिए विजुअल स्टूडियो (devenv.exe) द्वारा उपयोग की जाने वाली निर्देशिकाओं को ओवरराइड करना चाहते हैं। मुझे पता है कि उपकरण-> विकल्प-> वीसी ++ निर्देशिकाओं के माध्यम से इसे अंतःक्रियात्मक तरीके से कैसे करें, लेकिन मैं इसे स्वचालित करना चाहता हूं।एमएस विजुअल स्टूडियो
http://msdn.microsoft.com/en-us/library/t9az1d21(VS.80).aspx इस पर एक tantalizing नोट है: "यदि आप निर्देशिका खोज पथ (अपनी परियोजनाओं के लिए) सेट अप करना चाहते हैं जिसे अन्य उपयोगकर्ताओं द्वारा साझा किया जा सकता है या इसे कई कंप्यूटरों पर लागू किया जा सकता है, तो दृश्य सी ++ उपयोग करने का विकल्प प्रदान करता है प्रोजेक्ट प्रॉपर्टी शीट्स के माध्यम से यह संवाद। अधिक जानकारी के लिए, संपत्ति पत्रक (सी ++) देखें। "
यदि आप प्रॉपर्टी शीट्स दस्तावेज़ के लिंक का पालन करते हैं, तो तंत्र पर जानकारी का एक गुच्छा है लेकिन वास्तविक गुणों पर कोई भी सेट करने की आवश्यकता नहीं है।
मुझे% स्थानीय ऐपडेटा% \ Microsoft \ VisualStudio \ 8.0 \ VCComponents.dat (वीएस 2005 के लिए, और वीएस 2008 के लिए 9.0) में वीसी ++ निर्देशिका संवाद द्वारा पॉप की गई जानकारी मिली; ऐसा लगता है कि वीसी \ VC_OBJECTS_PLATFORM_INFO \ win32 \ निर्देशिकाओं और ... \ x64 \ निर्देशिकाओं के तहत विभिन्न गुण सेट किए गए हैं।
क्या किसी ने पहले यह किया है और यह पता है कि मैकिंग VCComponents.dat में उपयोग किए जाने वाले संपत्ति नामों से है .ssprops फ़ाइल में उपयोग करने के लिए नाम?
मैं इसे VS2005, VS2008 और VS2010 में आदर्श रूप से काम करना चाहता हूं।
वीएस -2010 में, माइक्रोसॉफ्ट ने व्यू विकल्प के तहत वीसी ++ निर्देशिका संवाद को पूरी तरह से हटा दिया है, इसे प्रति परियोजना बना दिया है, और इसलिए अब आप व्यू ऑप्शंस के बजाय प्रोजेक्ट प्रॉपर्टीज में इन निर्देशिकाओं को संपादित करने के लिए एक इंटरैक्टिव यूआई प्राप्त करते हैं; इसका मतलब यह भी है कि गुण प्रबंधक में इसके लिए एक यूआई है; तो यदि आप प्रति-प्रोजेक्ट की बजाय प्रति-मशीन में परिवर्तन करना चाहते हैं, तो आप जिस तरह से चाहते हैं, उसी तरह एक प्रॉपर्टी शीट सेट करें, और अपनी सभी परियोजनाओं को इससे प्राप्त करें। यह पुराने तरीके से बड़े सुधार की तरह लगता है। और जो मैं करना चाहता हूं उसे करने का एक सीधा तरीका। लेकिन केवल वीएस -2010 में।
वीएस2005 और वीएस 2008 में इन गुणों को प्रोजेक्ट या प्रॉपर्टी शीट में सेट करने के लिए यूआई नहीं है; मुझे हाथ से ऐसा करने में खुशी है लेकिन मुझे नहीं पता कि यह कैसा दिखना चाहिए!
यहाँ एक खाली वी.एस. 2005 .vsprops फ़ाइल है:
<?xml version="1.0"?>
<VisualStudioPropertySheet
ProjectType="Visual C++"
Version="8.00"
Name="pathSettings"
>
</VisualStudioPropertySheet>
मैं VS 2010 स्थापित किया है और खोज निर्देशिका में परिवर्तन करने के लिए अपनी साफ नई जीयूआई इस्तेमाल किया; यह इस तरह दिखता है:
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ImportGroup Label="PropertySheets" />
<PropertyGroup>
<ExecutablePath>C:\Test;$(PATH)</ExecutablePath>
</PropertyGroup>
</Project>
हालांकि, कि VS2005 में शब्दशः काम नहीं करता है - VS2005 इसे लोड (शिकायत नहीं DTD/स्कीमा घोषणा मिला था) के लिए मना कर दिया।
मैंने इसे कंटेनर में फंसाया, जिसके जवाब में वीएस2005 ने मुझे बताया कि "एलिमेंट 'प्रॉपर्टी ग्रुप' मूल तत्व 'विजुअलस्टूडियोप्रॉपर्टीशीट' के सामग्री मॉडल के अनुसार अप्रत्याशित है। उम्मीद: टूल, उपयोगकर्तामैक्रो।" टूल और यूजर मैक्रो एमएसडीएन पेज में उदाहरण में दिखाए गए एकमात्र चीजें हैं [ड्रैट - स्टैक ओवरव्लो मुझे एक नए उपयोगकर्ता के रूप में यहां एक हाइपरलिंक नहीं डालेगा - 'प्रॉपर्टी शीट्स टूल usermacro' के लिए पहले Google खोज परिणाम] - शायद वे वीएस2005 संपत्ति शीट में एकमात्र चीजें कानूनी हैं?
अधिक लिंक: - संपत्ति चादर प्रलेखन: http://msdn.microsoft.com/en-us/library/a4xbdz1e(VS.80).aspx - VS 2010 में बदलाव पर लेख है: http://blogs.msdn.com/vsproject/archive/2009/07/07/vc-directories.aspx मुझे नहीं पता कि एक .vsprops फ़ाइल (VS2005 या 2008) या .props फ़ाइल (2010) में क्या रखना है) एक ही चीज को पूरा करने के लिए जिसे आप VCComponents.dat संपादित करके पूरा करते हैं, प्रत्येक बिल्ड प्लेटफ़ॉर्म के लिए पथ/शामिल/लाइब्रेरी खोज निर्देशिका सेट या ओवरराइड करने के लिए। – metamatt
यह सहायक/प्रासंगिक (अभी भी इसे संसाधित करता है) लगता है: http://stackoverflow.com/questions/142708/what-do-delimiter-and-inheritsfromparent-attributes-mean-in-vsprops-files – metamatt
ठीक है, अगर केवल टूल और UserMacro वहां काम करता है, शायद मुझे कंपाइलर के पथ को ओवरराइड करने का सही तरीका मिलना है और लिंकर के टूल निर्देशों का उपयोग करके पथ शामिल करना है। यह निष्पादन योग्य पथ में मदद नहीं करेगा, हालांकि, है ना? – metamatt