खोज…


खिड़कियों पर तैनात

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= ) के साथ, अनुप्रयोग का नाम और एक आइकन को निर्दिष्ट करती है।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow