Ich verwende eine Reihe von ExternalPorject_Adds, um QT5 mithilfe von CMake statisch herunterzuladen, zu konfigurieren, zu erstellen und zu installieren. Bis zum Konfigurationsskript läuft alles gut. Das Qt5-Konfigurationsskript gibt beim statischen Kompilieren die folgende Warnung aus. Danach werden die Schritte zum Erstellen und Installieren ignoriert:

CUSTOMBUILD : warning : Using static linking will disable the use of plugins.
           Make sure you compile ALL needed modules into the library.

Mein letztes ExternalProject_Add lautet wie folgt (es gibt andere, die den Download-Schritt in ein anderes Ziel unterteilen):

  ExternalProject_Add(qt5_build
    DOWNLOAD_COMMAND "" UPDATE_COMMAND "" PATCH_COMMAND ""
    SOURCE_DIR ${QT5_REPO_PATH}
    CONFIGURE_COMMAND configure ${QT5_CONFIGURE}
    BUILD_COMMAND nmake BUILD_IN_SOURCE 1
    INSTALL_COMMAND nmake install
  )

Gibt es irgendwelche Gedanken darüber, wie das Projekt dazu gebracht werden kann, die Warnungen zu ignorieren (bewirkt die Warnung überhaupt, dass es stoppt?) Und mit den Schritten zum Erstellen und Installieren fortzufahren?

Ich arbeite derzeit unter Windows (arbeite an einem plattformübergreifenden Installationsprogramm) und verwende den Visual Studio 2013-Generator mit cmake.

Vielen Dank!

-1
T. Waters 23 Dez. 2015 im 01:16

2 Antworten

Beste Antwort

Ich hatte das gleiche Problem wie du. Es stellt sich heraus, dass es nichts mit den Warnungen oder sogar dem Exit-Code zu tun hat (in diesem Fall).

Dies liegt daran, dass die Datei configure eine Batchdatei ist und Visual Studio die Schritte zum Erstellen der Konfiguration in einer anderen Batchdatei ausführt.

Dies bedeutet, dass Sie, wenn Sie das Schlüsselwort call nicht vor configure verwenden, zum configure.bat abzweigen und die verbleibenden Schritte im Visual Studio-Konfigurationsschritt niemals zurückgeben und ausführen .

Um dies zu beheben, können Sie Folgendes tun:

ExternalProject_Add(qt5_build
    DOWNLOAD_COMMAND "" UPDATE_COMMAND "" PATCH_COMMAND ""
    SOURCE_DIR ${QT5_REPO_PATH}
    CONFIGURE_COMMAND call configure.bat ${QT5_CONFIGURE}
    BUILD_COMMAND nmake BUILD_IN_SOURCE 1
    INSTALL_COMMAND nmake install)
1
Konstantinos 6 Apr. 2016 im 10:55

Das Konfigurationsskript gab ein Ergebnis ungleich Null zurück, wodurch die nachfolgenden Schritte fehlschlugen, obwohl die Warnung wirklich nicht schwerwiegend ist. Ich habe mich von der Verwendung von ExternalProject verabschiedet und nur die gleiche Funktionalität mit add_custom_target implementiert.

0
T. Waters 23 Dez. 2015 im 00:56