2015-09-03 6 views
6

मान लीजिए कि मैंने हेडर और बाइनरी के साथ कुछ लाइब्रेरी xyz डाउनलोड किया है और इसे कहीं भी मानक खोज पथ में नहीं रखा है। प्रत्येक उत्पाद के लिए मैं cpp.includePaths, cpp.libraryPaths, cpp.static पुस्तकालयों, आदि से लिंक करने के लिए खोज पथ और लाइब्रेरी जोड़ सकता हूं।qt qbs में बाहरी लाइब्रेरी निर्भरताओं का संदर्भ कैसे लें?

क्या ऐसा करने के लिए एक बेहतर [मानक] तरीका है? अगर मैं अपनी परियोजना के हिस्से के रूप में लाइब्रेरी का निर्माण कर रहा हूं तो ऐसा लगता है कि मैं एक निर्यात आइटम में पथ परिभाषित कर सकता हूं और फिर पथ को स्वचालित रूप से सेट करने के लिए प्रत्येक उत्पाद में निर्भर आइटम का उपयोग कर सकता हूं। यह एक अच्छा तंत्र की तरह लगता है और मुझे आश्चर्य है कि बाहरी निर्भरताओं के लिए इसका उपयोग करने का कोई तरीका नहीं है।

qbs दस्तावेज़ थोड़ा पतले हैं ...

धन्यवाद!

उत्तर

5

आप आमतौर पर xyz के लिए अपना स्वयं का मॉड्यूल बनायेंगे। आप उन स्थानों को जोड़ सकते हैं जहां क्यूबीएस प्रोजेक्ट की qbsSearchPaths-property को सेट करके मॉड्यूल और आयात की खोज करेगा। जैसे इसे "qbs" पर सेट करके QBS आपकी प्रोजेक्ट की "qbs/मॉड्यूल" उप-निर्देशिका में अतिरिक्त मॉड्यूल की खोज करेगा।

वहाँ आपको लगता है कि इस प्रकार दिखाई देगा "xyz.qbs" नामक एक फ़ाइल बन सकता था:

import qbs 
Project { 
    qbsSearchPaths: "qbs" 
    CppApplication { 
     name: "myApp" 
     files: "src/**" 
     Depends { name: "xyz" } 
    } 
} 
+0

धन्यवाद:

import qbs Module { Depends { name: "cpp" } property string xyzPath: "the/xyz/path" cpp.includePaths: xyzPath + "/include" cpp.libraryPath: xyzPath + "/lib" cpp.staticLibraries: "xyz" } 

फिर आप यह बस एक अपनी परियोजना के लिए निर्भर जोड़कर इस्तेमाल कर सकते हैं ! मैंने अंततः यह पता लगाया था और फिर .. भूल गया कि मैंने इस सवाल से पूछा था। मुझे qbsSearchPaths के बारे में पता नहीं था, हालांकि .. आसान! –

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