Qt 5 CMake manual कहा गया है कि qt5_use_modules
मैक्रो अब मान्य नहीं है:`qt5_use_modules` के बजाय उपयोग करने के लिए क्या करें?
इस मैक्रो अप्रचलित है। इसके बजाय आयातित लक्ष्यों के साथ target_link_libraries का उपयोग करें।
... लेकिन qt5_use_modules
से अधिक बस लिंक पुस्तकालयों को निर्दिष्ट करता है: यह निर्देशिका, आवश्यक संकलन झंडे शामिल निर्दिष्ट करता है, और अधिक (ऊपर लिंक दस्तावेज में पूर्ण विवरण देखें)।
मानते हैं कि परिवर्तनीय QTMODULES
में क्यूटी मॉड्यूल की कुछ सूची शामिल है जिसका उपयोग किसी प्रोजेक्ट के लिए किया जाना चाहिए, निम्नलिखित "बहिष्कृत" सीएमके लाइन को प्रतिस्थापित करने के लिए "अनुशंसित" तरीका क्या है?
qt5_use_modules(${myProjectName} ${QTMODULES})
निम्नलिखित काम नहीं करता, इसका मुख्य कारण यह किसी भी क्यूटी नहीं जोड़ता है पथ में शामिल हैं:
target_link_libraries(${myProjectName} IMPORTED ${QTMODULES})
मैन्युअल रूप से अधिक दोहराया, ताकि include_directories
प्रत्येक के लिए कहा जा सकता है होना करने के लिए QTMODULES
चर की जरूरत है व्यक्तिगत मॉड्यूल नाम? यह qt5_use_modules
से पिछड़ा एक बड़ा कदम लगता है, जो सरल है और "बस काम करता है।" क्या मैं कुछ भूल रहा हूँ?
अभी भी उन मॉड्यूल की सूची वाले वेरिएबल से प्रत्येक नाम को अलग करने की आवश्यकता है, जिसे मैं उपयोग करना चाहता हूं और प्रत्येक को 'Qt5 ::' जोड़ना चाहता हूं। क्या कोई विशेष कारण है कि यह 'qt5_use_modules' का उपयोग करने के लिए बेहतर क्यों है? –
यह * दिलचस्प है, हालांकि, आप पथ शामिल करने के लिए 'target_link_libraries' प्राप्त कर सकते हैं, आदि –
सूची के प्रारूप के आधार पर, आप उस पर कुछ regex करने में सक्षम हो सकते हैं, या सूची के माध्यम से पुन: निर्माण कर सकते हैं सही प्रारूप में एक नया चर ... – Zrax