Was wäre ein praktische Beispiel der sysroot und Präfix-Optionen für Qt
Ich schaue mir alle Optionen an, die ausgeführt werden können, für die configure
Skript zur Verfügung gestellt mit Qt. (speziell qt-überall-opensource-src-5.2.0).
Nach erheblichen Suche, habe ich festgestellt, das Zeug ist schlecht dokumentiert, am besten so, ich hatte gehofft, ich könnte einige Hilfe. Wenn ich mir die Beschreibungen für prefix
und sysroot
Konfigurationsoptionen:
~/qt-überall-opensource-src-5.2.0$ ./configure -- help | grep "sysroot"
-extprefix<dir>
... Wenn -sysroot verwendet wird, installieren Sie alles auf<dir>
,
-sysroot<dir>
...... Setzt<dir>
als die target-compiler und qmake ist sysroot und setzt auch die pkg-config-Pfade.
-Nein-gcc-sysroot ..... Bei Verwendung von-sysroot, es deaktiviert das weiterleiten von --sysroot der compiler~/qt-überall-opensource-src-5.2.0$ ./configure -- help | grep "Präfix"
-Präfix<dir>
...... Dies installiert alles relativ zu<dir>
-extprefix<dir>
... Wenn -sysroot verwendet wird, installieren Sie alles auf<dir>
,
-hostprefix [dir] .. Tools und Bibliotheken, die benötigt werden, wenn die Entwicklung
So, ich habe -prefix
vor, und es war genau so, wie beschrieben. Sie stellte alles auf den bereitgestellten <dir>
dann, wenn ich baute meine Anwendung mit <prefix_dir>/bin/qmake
und installiert, dass auf meiner Zielplattform wollte Sie alle zu finden, die das gemeinsame Objekt-Bibliotheken an <prefix_dir>/lib
.
Ich bin unter dem Eindruck, dass wenn ich -sysroot
es installieren, alles auf <sysroot_dir>
dann, wenn ich installieren meine Anwendung auf der Zielplattform wird die Suche in /lib
. Zumindest hoffe ich, dass das wahr ist.
Nun, wenn meine Vermutung richtig ist... was ist dann der Punkt der -extprefix
? Sind Sie sagen, dass, wenn ich umleiten kann, wo die Dinge gut, wenn ich beide verwenden -sysroot
und -extprefix
?
Und was würde der Grund sein, warum würde ich wollen, verwenden Sie -no-gcc-sysroot
? Wenn ich wollte, dass meine Qt-libs installiert werden "sysroot" warum sollte ich nicht wollen gcc
zu verwenden/kennen die gleichen sysroot?
Einer Erklärung von einigen dieser wäre toll, noch besser, wenn ich einige praktische Beispiele wie man richtig mit diesen Optionen.
- haben Sie einige Informationen über diese?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Diese Optionen werden verwendet, wenn Gebäude embedded-Plattformen.
Ja, Sie sind ein royal Durcheinander. Hier ist also nur eine teilantwort:
-Präfix
-sysroot /Pfad
/lib, /bin, etc...
-extprefix /b
-no-gcc-sysroot
-hostprefix /Pfad
Um die Verwirrung hinzuzufügen:
-R /Pfad
Die flags, die Sie verwenden möchten, beim kompilieren für ein Ziel, das nicht Ihr Gastgeber ist, hängt von einer Schiffsladung von hardcoded Annahmen innerhalb konfigurieren.
allgemein -sysroot plus -Präfix sollten für die meisten Anwendungsfälle.
also, wenn Sie haben:
konnten Sie gerade verwenden -sysroot ~/mytarget -Präfix /
prefix
Sie sind Sinnepath prefix
und wenn Sie kein Präfix, dann sind Sie der Installation von integrierten framework, um die Haupt-directory-Baum. Können Sie Qt benutzen ohne Installation überall, auf allen? Du wirst den Kampf an, weil die kompilierten Bibliotheken sind alle in Submodul-Ordner.Ein praktisches Beispiel wäre die cross-Compilierung Qt für Raspberry Pi und erstellt dann eine "Schwester" - kit hinzufügen der Qt Creator.
Den folgenden Befehl installieren Sie Qt auf dem Pi nach der Montage des Pi ' s root-Dateisystem:
Den folgenden Befehl installiert dann die Binärdateien auf dem desktop mithilfe von Pi das root-Datei-system.
Beachten Sie, dass der einzige Unterschied ist die Verwendung von -extprefix statt -Präfix weist den Einbauort.
Hinweis: installieren Sie Qt auf host-und Ziel gleichzeitig durch Angabe der Präfix-und extprefix in der gleichen Zeile
Nun können Sie dieses kit, um Ihre Qt Creator durch die Angabe Ihres qmake Pfad -, Geräte -, compiler -, debugger-und sysroot. So können Sie ein qt-Projekt auf Ihrem desktop und dann erstellen und ausführen, die entweder auf dem desktop oder der pi je nach kit Sie wählen.