Qt WinAPI - lecke 004

Helyes programozó - egy lusta programozó. Ha lehet automatizálni valamit, akkor feltétlenül kell csinálni. Például, lehet futtatni automatikusan a szerelvény windeployqt online és offline szerelők, valamint a készítmény az alkalmazás adattár Qt keretrendszer telepítő és a fekete mágia QMake.

Annak érdekében, hogy ez a legszebb módon, az szükséges, hogy a projekt került megrendezésre a szerkezetet subdirs. hogy áll a több projektet. Nem kell minden alkalommal, amikor építeni a projekt létrehozásához szerelők. Ezért a projekt lesz egy külön telepítő.

De automatizálás windeployqt hagyjuk a fő projekt.

A szerkezet a projekt

Qt WinAPI - lecke 004
  • Tehát, van egy projekt két alprojekt:

    1. Hello.pro - alkalmazás projekt
    2. Installer.pro - telepítő projekt

    A fő projekt a leggyakoribb „Hello world”, de a legnagyobb érdeklődés rejlik a forgatókönyvet QMake, amely felelős windeployqt alkalmazás.

    A második projekt minimális struktúrát építeni online és offline szerelők, valamint építeni a tárolóból. QMake script egy profilt a projekt magában foglalja a szükséges információt, hogy automatizálják a build szerelők.

    Automation WinDeployQt

    HelloInstaller.pro

    Amellett, hogy a szokásos végrehajtható utasításokat összeszerelés könyvtárak és más kimeneti fájlokat a projektben, ezen QMake script elindítja a windeployqt segédprogramot.

    Ha a szerelési végrehajtható mappa egyértelmű, akkor meg kell érteni, hogy ugyanaz a dolog történik, amikor a windeployqt.

    QMAKE_POST_LINK - Ez az irányelv meghatározza a keresetet, miután a projekt befejezését épít. Ez az, amit csinálunk, miután a végrehajtható lett lefordítva.

    $$ (QTDIR) - egy változó, amely tartalmazza az út a Qt szerelőkészlet. Az én esetemben ez a D: \ Qt \ 5.7 \ mingw53_32.

    Elvégzésére windeployqt nem feltétlenül jelenti azt, egy futtatható fájl, ez elegendő ahhoz, hogy adja meg a mappát érvként, ahol a fájl található. Ennek eredményeként a projekt befejezése a szerelvény, akkor automatikusan építeni a szükséges kérelmeket a dll. és lesznek mellé a futtatható fájlt.

    Építsd a szerelők és a tároló

    Építsd a szerelők és online projekt adattár segítségével történik Qt Installer Framework, amely összetételében segédprogram építeni szerelők magukat, és a készítmény a kérelem tárolóból.

    Ahhoz, hogy összeállítsa a két közművek ennek keretében kerül felhasználásra:

    • binarycreator - segédprogram építeni a telepítő;
    • repogen - eszköz előkészítése online adatbázis.

    Mielőtt dolgunk QMake script, vizsgálja meg a konfigurációs fájl és könyvtár struktúrát építeni szerelők.

    könyvtár struktúra

    Tekintsük a szerkezet a projekt:

    • config - amely a konfigurációs fájl a telepítő:
      • config.xml - ebben a fájlban információt tartalmaz egy távoli repository, verzió, a projekt neve, stb
    • csomagok - ami csomagolásban, amelyből a szerelők kell gyűjteni, például:
      • ru.evileg.helloinstaller - a könyvtár az első csomag
        • meta - könyvtár, mely tartalmazza installyaionnye szkriptek, amelyek meghatározzák a különleges funkcionális, például a záró aktív példányának a kérelmet, ha a kérelem frissítik, vagy előírását a rendszerleíró adatbázisban.
          • Package.xml - minimális verziószáma a jelenléte a fájlt, ami le lesz írva a projekt változat és épít dátumot. Ez az információ szükséges a formáció Updates.xml fájl kerül az online adattár.
        • adatok - ez a könyvtár kell a végrehajtható fájlt, és minden szükséges dll, erőforrás fájlok, fájlok, stb Ez minden, ami szükséges, hogy létrejöjjön egy működő alkalmazás.
      • ru.evileg.ecolor - és, például a könyvtár a második csomag tartalmát, amely hasonló szerkezetű, mint a korábbi kiviteli alaknál.

    config.xml

    Package.xml

    Ott már jelezte további információt a telepítés a pályázati eljárás a rendszerben, vagyis a létezés bizonyos formáinak ablakok, telepítés scriptek, például, hogy bevigye az információt az adatbázisból. Szintén adunk tájékoztatást a kérelem megjelenési dátumot, ami szintén elhelyezhető Updates.xml fájlt.

    Ezt a fájlt kell tartalmaznia az egyes csomagokban. A telepítő tud nyújtani képes telepíteni számos összetevő, emlékszik Qt telepítőt, van egy csomó pontot. Ennek megfelelően, az ilyen csomag a pontot.

    • DisplayName - az összetevő neve. Kötelező tag.
    • Leírás - az alkatrész leírását. Kötelező tag.
    • Verzió - version komponentayu. Kötelező tag.
    • Releasedate - a régebbiek. Kötelező tag.
    • Alapértelmezett - az alapértelmezett beállítás komponens, azaz, ha a komponens kell telepíteni, vagy sem.
    • Név - packet azonosító formájában a domain név. Kötelező tag.
    • ForcedInstallation - azt jelzi, hogy az alkatrész szükséges a telepítéshez, és a felhasználó kizárhatja azt a növény
    • RequiresAdminRights - azt jelzi, hogy a csomag kell telepíteni rendszergazda jogosultsággal. Mező nem kötelező. És a legérdekesebb dolog az, hogy a folyamat telepítő adatvesztést rendszergazda jogokkal. Azaz, egyes beavatkozásokra van szükség, hogy újra figyelmezteti a felhasználót rendszergazda jogokkal.

    Installer.pro

    Itt van egy lehetőség a build telepítők külön mappa Release és Debug változatban. Csakúgy, mint az adattár előállítására kiadott verziók.

    Ki kell építeni az offline telepítő binarycreator a segédprogramot az alábbi lehetőségek közül:

    • --kizárólag offline - amint az a neve, azt jelzi, hogy összegyűjti az offline telepítő
    • -c - meghatározza az elérési utat a konfigurációs fájl
    • -p-Jelzi utat a csomagokat a folyamat QtIFW meg fogja érteni, hogy ilyen csomagolásokat a telepítő, tekintettel a konfigurációs fájlokat és szkriptek névtárban

    Megjegyzés. Az online változata a telepítő mindegy, csak a paraméterek --offline csak helyébe --online csak.

    Az adattár képzési használható segédprogram repogen. az alábbi paraméterekkel:

    • -p - meghatározza a mappát a csomagok
    • -i - Meghatározza a csomag tartalmazza a telepítő
    • -frissítés - meghatározza, hogy frissítenie kell a adattár a következő utat. Ha nem adattár, az újat hoz létre ezen a módon.

    Kapcsolódó cikkek