2011-05-26 16 views
5

के लिए हेडर में LILI निर्दिष्ट करें क्या विजुअल स्टूडियो 2008 में स्वचालित रूप से सी ++ स्थिर लाइब्रेरी को लिंक करना संभव है? या, मानक दृष्टिकोण से उपयोग करने में कोई सुधार है?स्वचालित रूप से निर्दिष्ट करें। विजुअल स्टूडियो 2008 सी ++

मैं सी ++ पुस्तकालयों का एक सेट विकसित कर रहा हूं और उन्हें जोड़ने/परीक्षण करना काफी दर्द है। सामान्य दृष्टिकोण परीक्षण क्लाइंट में .lib फ़ाइलों को निर्दिष्ट करना है, लेकिन अब सूची काफी बड़ी हो गई है (मेरी अपनी libs, opencv, boost, और अन्य) और मैं हमेशा कुछ खो रहा हूं क्योंकि मैं डीबग और रिलीज मोड के बीच स्विच करता हूं , gpu और non-gpu, आदि। जब मैं प्रोजेक्ट गुणों में लिंकर खोलता हूं तो सूची कुछ समय तक स्क्रॉल करता है।

मुझे उम्मीद थी कि मैं स्वचालित रूप से निर्दिष्ट कर सकता हूं कि यदि कोई क्लाइंट # कुछ ऐसा शामिल करता है जो परियोजना को निर्दिष्ट .lib (डीबग/रिलीज़) से लिंक करना चाहिए। क्या यह संभव है या क्या कोई वैकल्पिक दृष्टिकोण है जो न्यूनतम उपयोगकर्ता इंटरैक्शन के साथ संबंध प्रबंधित करने में मदद करेगा?

उत्तर

5

#pragma comment(lib, "name_of_the_library.lib") का उपयोग करें। #pragma comment के लिए अन्य उपयोगी विकल्प MSDN page पर देखे जा सकते हैं।

डीबग बनाम रिलीज कॉन्फ़िगरेशन के संबंध में: आम तौर पर एक _DEBUG प्रीप्रोसेसर मैक्रो का उपयोग करने के लिए उपयोग किया जाता है। विज़ुअल सी ++ हेडर निश्चित रूप से उसी उद्देश्य के लिए इसका उपयोग करता है जैसा आप चाहते हैं; जैसे इस कुलपति ++ 2010 use_ansi.h फ़ाइल से है:

#ifdef _DEBUG 
#pragma comment(lib,"msvcprtd") 
#else /* _DEBUG */ 
#pragma comment(lib,"msvcprt") 
#endif /* _DEBUG */ 
+0

http://support.microsoft.com/kb/153901 – Steve

+1

यह पहली नजर में यह की तरह नहीं कर सकते हैं, यह वास्तव में आप, जो खोज रहे हैं है @ स्टीव। –

+1

@Steve, वह KB आलेख Visual C++ 4.0 से संबंधित है - ऐसा कुछ नहीं जिसे आप आजकल उपयोग करना चाहते हैं :) –

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