2008-12-02 10 views
12

मेरे पास मिश्रित वीबी.नेट और सी ++ परियोजनाओं का समाधान है। विजुअल स्टूडियो 2005 का उपयोग करते समय आप "टूल्स-> विकल्प-> प्रोजेक्ट्स एंड सॉल्यूशंस-> वीसी ++ डायरेक्टरीज़" सेट कर सकते हैं ताकि कंपाइलर को आपकी फाइलें ढूंढ सकें। MSBuild के साथ एक ही समाधान का निर्माण करते समय मुझे नहीं लगता कि इन सेटिंग्स को कैसे पास किया जाए। सी ++ निर्दिष्ट इस पथ के बिना संकलित नहीं होगा। इस समाधान के निर्माण के दौरान विजुअल स्टूडियो यह पूरी तरह से निर्माण करता है।MSBuild VC++ निर्देशिकाएं कैसे सेट करें

MSBUild के लिए इस मार्ग को पारित करने का तरीका क्या है?

संपादित करें: ऐसा लगता है कि एमएसबिल्ड पथ (या/यू स्विच) को वीसीबिल्ड में पास नहीं करता है। VCBuild से शुरू करने के बजाय निर्भरता पर विफल रहता है।

+0

विज़ुअल 2010 चीजों के साथ उपयोगकर्ता संपत्ति निर्देशिकाओं के उपयोग के बाद अपेक्षा की जाती है। पर्यावरण चर का उपयोग करने की कोई और आवश्यकता नहीं है – CharlesB

+1

नवीनतम संस्करण VS2013 के लिए, मेरा उत्तर थ्रेड में देखें: http://stackoverflow.com/questions/15654002/adding-additional-library-and-include-paths-when-compiling- से-कमांड लाइन/28103688 # 28103688 – zhifac

उत्तर

13

निर्देशिका शामिल करने के लिए, आप उन्हें अपने INCLUDE पर्यावरण चर में जोड़ सकते हैं। आप उसी प्रारूप का उपयोग करते हैं जैसे पाथ एनवी में। चर - आप अर्धविराम के साथ अलग पथ।

लाइब्रेरी निर्देशिका सेट करने के लिए - आप इसे अपने LIB पर्यावरण चर में डालकर, वैसे ही कर सकते हैं।

पर्यावरण चर सेट करने के लिए, आप बस "मेरा कंप्यूटर" राइट-क्लिक करें, "गुण" चुनें। फिर आप "उन्नत" टैब पर जाते हैं, और "पर्यावरण चर" नामक एक बटन होता है।

या, यदि आप एक बैच स्क्रिप्ट से MSBuild चला सकते हैं जो मामले में, MSBuild कॉल करने से पहले, आप सेट कर सकते हैं उदारीकरण चर, इसलिए की तरह शामिल हैं और:

set INCLUDE=C:\Libraries\LibA\Include 
set LIB=C:\Libraries\LibA\Lib\x86 
+1

यदि यह सीधे काम नहीं करता है, तो नीचे @CharlesB द्वारा प्रस्तावित फ़िक्स का प्रयास करें। – Tibo

+2

आपको एमएसबिल्ड तर्कों के लिए '/ p: "VCBuildAdditionalOptions =/useenv" 'जोड़ना होगा ताकि यह INCLUDE और LIB चर – CharlesB

4

... और भी आप पसंद कर सकते हैं % जोड़ने के लिए अपने चर% और% उदारीकरण% शामिल

set INCLUDE=C:\Libraries\LibA\Include;%INCLUDE% 
set LIB=C:\Libraries\LibA\Lib\x86;%LIB% 
3

उनमें से अधिलेखित आप MSBuild के नए संस्करण में वातावरण चर को अग्रेषित करने के /p[roperty]:useenv=true स्विच का उपयोग कर सकते से बचने के लिए। पूरा लेख यहां देखें http://blogs.msdn.com/b/vcblog/archive/2010/01/11/vcbuild-vs-c-msbuild-on-the-command-line.aspx