2017-08-30 2 views
1

Ich versuche herauszufinden, wie die Einstellungen Qt Creator verwenden und einige CMake Argumente übergeben. Lassen Sie uns sagen, dass ich eine App, die ich bauen kann das Terminal in etwa so:Wie übergeben cmake Argumente mit Qt Creator-Schnittstelle und Einstellungen

cmake .. -DQTDIR=/home/myCustomBuildStuff 
    -DLD_LIBRARY_PATH=/home/myCustomBuildStuff 
    -DCMAKE_INCLUDE_PATH=/home/myCustomBuildStuff/include 
    # etc. 

Wie Sie sehen können, ich meine speziell angefertigten Qt (plus einige andere Libs) verwenden. Wenn ich mit dem Terminal baue, funktioniert alles.

Aber jetzt möchte ich versuchen, den Qt Creator zu verwenden und alle CMake Argumente mit den Qt Creator Einstellungen übergeben.

Ich habe versucht, die CMake Konfiguration Einstellungen zu verwenden, die in den Kits gefunden werden können. Ich habe versucht, die Build-Einstellungen zu ändern, und meine Argumente direkt zu den Build Steps und/oder CMake Tabelle oben hinzufügen. Nichts davon hilft und meine App nicht meine Gewohnheit QtWidgets von main.cpp gebaut umfassen:

/usr/lib/x86_64-linux-gnu/libQt5Core.so.5:-1: error: 
    version 'Qt_5.9' not found (required by home/myCustomBuiltStaff/bin/uic) 

In den Fehler über dem Pfad offensichtlich falsch ist (es muss in /home/myCustomBuiltStuff/ Ordner suchen). Aber wie übertrage ich diesen Pfad mit den Qt Creator Einstellungen?

Hinweis, ich kann den Inhalt der CMake-Datei nicht berühren und möchte es nur erstellen, wie es in meinem Terminal erstellt, wenn ich alle Pfade als Argumente an CMake übergeben.

+0

Sie können versuchen, die standardmäßig eingebauten Schritte zu deaktivieren/entfernen und Ihren Build-Befehl als 'Custom Process Step' hinzuzufügen. Dies sollte Ihnen genau das gleiche Ergebnis liefern wie in einem Terminal. – m7913d

+0

danke, ich konnte den Build mit den benutzerdefinierten Schritten reproduzieren. – vicrucann

+0

Ich vermisse so sehr den CMake-Assistenten, der für ältere Versionen von Qt Creator (v3.5) verfügbar war, wie in [diesem Artikel] (http://preshing.com/20170511/how-to-build-a-cmake- based-project/# building-with-qt-creator)! – normanius

Antwort

0

Also folgte ich einem Ratschlag in dem Kommentar und musste meine eigenen benutzerdefinierten Build-Schritte hinzufügen, um sicherzustellen, dass die gewünschten CMake-Argumente korrekt übergeben wurden. Ich konnte keine andere Möglichkeit finden, sie mit den Einstellungen und Menüs von Qt Creator weiterzugeben.

Dies ist die Liste der Schritte, die ich tat:

  1. Zum Projects und entschied sich für die Build zu bearbeiten. Wenn Sie mehrere Konfigurationen haben, müssen Sie die folgenden Schritte für jeden wiederholen.
  2. deaktivieren oder den Standard-CMake Schritt löschen, normalerweise würde es so etwas wie cmake --build . --target all
  3. Wählen Sie Ihre Build directory sein.
  4. hinzufügen Individuelle Prozessschritt mit Befehlcmake, Argumente zu sein, Ihre CMake Argumente zu sein; normalerweise würden Sie das Arbeitsverzeichnis auf Standard verlassen.
  5. hinzufügen Individuelle Prozessschritt mit Befehlmake und fügen Sie alle notwendigen Argumente zu sein (z LD_LIBRARY_PATH).
  6. Gehen Sie und bearbeiten Sie die Run Einstellungen: Stellen Sie sicher, die Executable Punkte auf die eine cmake und make gerade erstellt. Dort können Sie auch alle notwendigen Befehlszeilenargumente hinzufügen.
0

Dies ist die Version 4.3.1, die ich verwende. Falls noch nicht geschehen, sollten Sie die aktuellste Version von qtcreator haben.

File-> Open:

Wählen Sie die CMakeLists.txt Datei Ihres Projekts. Wählen Sie Ihr Ziel und Sie sollten das Projekt mindestens öffnen können.

Klicken Sie nun auf "Projekte". Stellen Sie sicher, dass Sie Build & Run -> Build und unter Cmake klicken Sie auf "Hinzufügen" -> "String" oder "Directory". In Ihrem Fall macht Directory mehr Sinn. Auf der linken Seite legen Sie die Definition, ohne "-D" natürlich und rechte Seite der Wert.

Wiederholen Sie den Schritt für jede Variable, die Sie definieren möchten, und klicken Sie auf „Übernehmen“

Wenn das nicht ich nicht arbeiten würde versuchen, die CMAKE_EXE_LINKER_FLAGS zu -L/home/myCustomBuildStuff

Hinweis zu setzen: Um zu sehen, ob es Sie können den Parameter VERBOSE = 1 an Werkzeugparameter übergeben, wenn Sie Makefiles im Abschnitt Build-Schritte verwenden. Auf diese Weise wird Ihre Ausgabe angezeigt, wenn die Variable wirklich übergeben wurde.

Hinweis: Denken Sie daran, die "Advanced" -Auswahl zu aktivieren, damit Sie mehr, wenn nicht alle für Cmake definierten Variablen sehen.

+0

Ich habe bereits versucht, meine Argumente zu der CMake-Tabelle hinzuzufügen, die Sie beschrieben haben, aber das hat nicht funktioniert, wie in meiner ursprünglichen Frage angegeben (tut mir leid, wenn es nicht klar war). Leider half die Linker-Flagge auch nicht. Ich habe den im Kommentar erwähnten Ansatz ausprobiert und es scheint zu funktionieren. Ich bin mir nicht sicher, ob ich das tun kann, indem ich die Einstellungen bearbeite, aber ich bleibe bei dem, was gerade funktioniert. – vicrucann