Qt
Qt अनुप्रयोगों की तैनाती
खोज…
खिड़कियों पर तैनात
Qt विंडोज के लिए एक परिनियोजन उपकरण प्रदान करता है: windeployqt
। उपकरण Qt मॉड्यूल के लिए अपनी निर्भरता के लिए Qt अनुप्रयोग निष्पादन योग्य का निरीक्षण करता है और निरीक्षण निष्पादन योग्य चलाने के लिए आवश्यक Qt फ़ाइलों के साथ एक परिनियोजन निर्देशिका बनाता है। एक संभावित स्क्रिप्ट की तरह लग सकता है:
set PATH=%PATH%;<qt_install_prefix>/bin
windeployqt --dir /path/to/deployment/dir /path/to/qt/application.exe
set
कमांड को PATH
पर्यावरण चर में Qt की bin
निर्देशिका को जोड़ने के लिए कहा जाता है। windeployqt
तब कहा जाता है:
- तैनाती निर्देशिका के लिए पथ पैरामीटर के साथ दिए गए एक वैकल्पिक तर्क दिया जाता है
--dir
(डिफ़ॉल्ट पथ जहां हैwindeployqt
कहा जाता है)। - निरीक्षण करने के लिए निष्पादन योग्य का रास्ता अंतिम तर्क के रूप में दिया गया है।
तब परिनियोजन निर्देशिका निष्पादन योग्य के साथ बंडल की जा सकती है।
ध्यान दें:
यदि आप Windows पर vs2013 के साथ पूर्व-संकलित Qt5.7.0 का उपयोग कर रहे हैं (सुनिश्चित करें कि यदि सभी संस्करणों में यह समस्या नहीं है) , तो एक मौका है, कि आपको अपने बिन निर्देशिका में <QTDIR>\5.7\msvc2015\qml
को मैन्युअल रूप से कॉपी करने की आवश्यकता है। आपका कार्यक्रम अन्यथा कार्यक्रम शुरू होने के बाद ऑटो छोड़ देगा।
क्यूटी प्रलेखन भी देखें।
CMake के साथ एकीकरण
macdeployqt
से windeployqt
और macdeployqt
चलाना संभव है, लेकिन निष्पादन योग्य लोगों के लिए पहला रास्ता मिल सकता है:
# Retrieve the absolute path to qmake and then use that path to find
# the binaries
get_target_property(_qmake_executable Qt5::qmake IMPORTED_LOCATION)
get_filename_component(_qt_bin_dir "${_qmake_executable}" DIRECTORY)
find_program(WINDEPLOYQT_EXECUTABLE windeployqt HINTS "${_qt_bin_dir}")
find_program(MACDEPLOYQT_EXECUTABLE macdeployqt HINTS "${_qt_bin_dir}")
windeployqt
लिए क्यूटी पुस्तकालयों को उनके स्थापित स्थान में खोजने के लिए, फ़ोल्डर को %PATH%
जोड़ा जाना चाहिए। निर्मित होने के बाद myapp
नामक लक्ष्य के लिए ऐसा करने के लिए:
add_custom_command(TARGET myapp POST_BUILD
COMMAND "${CMAKE_COMMAND}" -E
env PATH="${_qt_bin_dir}" "${WINDEPLOYQT_EXECUTABLE}"
"$<TARGET_FILE:myapp>"
COMMENT "Running windeployqt..."
)
एक बंडल पर macdeployqt
चलाने के लिए, यह इस तरह किया जाएगा:
add_custom_command(TARGET myapp POST_BUILD
COMMAND "${MACDEPLOYQT_EXECUTABLE}"
"$<TARGET_FILE_DIR:myapp>/../.."
-always-overwrite
COMMENT "Running macdeployqt..."
)
मैक पर तैनात
Qt Mac के लिए परिनियोजन उपकरण प्रदान करता है: Mac परिनियोजन उपकरण।
मैक परिनियोजन उपकरण QTDIR/bin/macdeployqt
में पाया जा सकता है। यह एक लागू करने योग्य एप्लिकेशन बंडल बनाने की प्रक्रिया को स्वचालित करने के लिए डिज़ाइन किया गया है जिसमें निजी पुस्तकालयों के रूप में क्यूटी लाइब्रेरी शामिल हैं।
मैक परिनियोजन टूल निम्न नियमों के अनुसार Qt प्लगइन्स को भी तैनात करता है (जब तक -no- प्लगइन्स विकल्प का उपयोग नहीं किया जाता है ):
- प्लेटफ़ॉर्म प्लगइन हमेशा तैनात रहता है।
- प्लगइन्स के डीबग संस्करण परिनियोजित नहीं हैं।
- डिजाइनर प्लगइन्स तैनात नहीं हैं।
- छवि प्रारूप प्लगइन्स हमेशा तैनात होते हैं।
- प्रिंट सपोर्ट प्लगइन हमेशा तैनात रहता है।
- यदि एप्लिकेशन Qt SQL मॉड्यूल का उपयोग करता है तो SQL ड्राइवर प्लग इन को तैनात किया जाता है।
- यदि एप्लिकेशन Qt स्क्रिप्ट मॉड्यूल का उपयोग करता है तो स्क्रिप्ट प्लगइन्स तैनात हैं।
- यदि एप्लिकेशन Qt SVG मॉड्यूल का उपयोग करता है तो SVG आइकन प्लगइन तैनात है।
- एक्सेसिबिलिटी प्लगइन हमेशा तैनात रहता है।
एप्लिकेशन बंडल में एक 3 पार्टी लाइब्रेरी शामिल करने के लिए, बंडल बनाए जाने के बाद लाइब्रेरी को मैन्युअल रूप से बंडल में कॉपी करें।
macdeployqt
टूल का उपयोग करने के लिए आप टर्मिनल खोल सकते हैं और टाइप कर सकते हैं:
$ QTDIR/bin/macdeployqt <path to app file generated by build>/appFile.app
ऐप फ़ाइल में अब सभी Qt लाइब्रेरी शामिल होंगी जिनका उपयोग निजी फ्रेमवर्क के रूप में किया जाता है।
macdeployqt
भी निम्नलिखित विकल्पों का समर्थन करता है
विकल्प | विवरण |
---|---|
-verbose = <0-3> | 0 = कोई आउटपुट नहीं, 1 = त्रुटि / चेतावनी (डिफ़ॉल्ट), 2 = सामान्य, 3 = डीबग |
-no-प्लगइन्स | प्लगइन तैनाती छोड़ें |
-dmg | .Dmg डिस्क छवि बनाएँ |
-no-पट्टी | बायनेरिज़ पर 'स्ट्रिप' न चलाएं |
प्रयोग-डिबग-libs | चौखटे और प्लगइन्स के डिबग संस्करणों के साथ तैनात करें |
-executable = | बता दें कि दिए गए एग्जीक्यूटेबल भी तैनात फ्रेमवर्क का उपयोग करते हैं |
-qmldir = | दिए गए पथ में .qml फ़ाइलों द्वारा उपयोग किए गए आयात आयात करें |
विस्तृत विवरण Qt प्रलेखन पर फव्वारा हो सकता है
लिनक्स पर तैनात
GitHub पर linux के लिए एक परिनियोजन उपकरण है । जबकि सही नहीं है, यह क्यूटी विकी से जुड़ा हुआ है। यह अवधारणात्मक रूप से Qt Mac परिनियोजन उपकरण और फ़ंक्शन पर समान रूप से AppImage प्रदान करके आधारित है।
यह देखते हुए कि एक डेस्कटॉप फ़ाइल को linuxdeployqt
साथ प्रदान किया जाना चाहिए, linuxdeployqt
बिल्ड के मापदंडों को निर्धारित करने के लिए उपयोग कर सकता है।
linuxdeployqt ./path/to/appdir/usr/share/application_name.desktop
जहाँ डेस्कटॉप फ़ाइल निष्पादन योग्य ( EXEC=
) के साथ, अनुप्रयोग का नाम और एक आइकन को निर्दिष्ट करती है।