Ich möchte Optionen zum Linker beim Erstellen einer statischen Bibliothek mit qmake bereitstellen. Angenommen, ich möchte beim Erstellen mit MSVC eine ausführliche Linker-Ausgabe erhalten. Die Projektdatei sieht folgendermaßen aus:Wie Linker-Optionen zur Verfügung stellen, wenn eine statische Bibliothek mit qmake verknüpft wird?
# mylib.pro
TEMPLATE = lib
TARGET = mylib
CONFIG += staticlib
QT += core
win32-msvc*: QMAKE_LFLAGS += /VERBOSE
unix: QMAKE_LFLAGS += -v
Das ist die gesamte Projektdatei. Es sollte zu einer leeren statischen Bibliothek ohne Objekte führen.
Einstellung weder QMAKE_LFLAGS
noch QMAKE_LFLAGS_STATIC_LIB
noch LIBS
hat keine Auswirkungen auf den Linker. Nichts, was in diesen Variablen gesetzt ist, macht es sogar zum Makefile. Wenn QMAKE_LFLAGS
funktioniert, würde ich erwarten, dass /VERBOSE
oder -v
an den Linker in der Befehlszeile übergeben wird, je nach Plattform.
Es spielt keine Rolle, welcher Makefile-Generator verwendet wird, dieses Verhalten scheint konsistent zu sein. Die zwei Plattformen von Interesse sind.
qmake -spec win32-msvc2008
qmake -spec macx-llvm
Durch plattformübergreifende Natur von qmake, können Sie es auf jeder Plattform testen, wo Sie Qt installiert passieren zu lassen. Dies reproduziert auf qmake sowohl aus Qt 4.8.4 als auch aus 5.1.1. Die in der mkspec angegebene msvc-Version spielt keine Rolle.