Wie linker-Optionen beim verknüpfen einer statischen Bibliothek mit qmake?
Will ich geben von Optionen an den linker beim Aufbau einer statische Bibliothek mit qmake. Sagen, ich würde wollen, um ausführliche linker Ausgang, wenn Gebäude mit MSVC. Die Projekt-Datei sieht wie folgt aus:
# mylib.pro
TEMPLATE = lib
TARGET = mylib
CONFIG += staticlib
QT += core
win32-msvc*: QMAKE_LFLAGS += /VERBOSE
unix: QMAKE_LFLAGS += -v
Dass das gesamte Projekt-Datei. Es sollte dazu führen, eine leere statische Bibliothek ohne Objekte.
Einstellung weder QMAKE_LFLAGS
noch QMAKE_LFLAGS_STATIC_LIB
noch LIBS
hat keine Auswirkungen auf die linker. Nichts-set in die Variablen, die es auch macht um das Makefile. Wenn QMAKE_LFLAGS
gearbeitet, ich würde erwarten, um zu sehen /VERBOSE
oder -v
an den linker übergeben Sie auf der Kommandozeile, je nach Plattform.
Ist es egal, was die makefile-generator verwendet wird, dieses Verhalten scheint konsequent zu sein. Die zwei Plattformen, die von Interesse sind.
qmake -spec win32-msvc2008
qmake -spec macx-llvm
Aufgrund der cross-Plattform-Natur von qmake, können Sie testen Sie es auf jeder Plattform, wo man Qt installiert. Diese reproduziert auf qmake von beiden Qt 4.8.4 und 5.1.1. Der msvc-version gegeben, in der mkspec egal.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In
staticlib
Projekte, dieLFLAGS
sind nicht an den linker übergeben. In der Tat, es gibt keinen dokumentierten Weg, um passieren solche flags.Die Lösung ist-generator-abhängig.
Für
msvc_nmake
,LIBFLAGS
sind an den linker übergeben statt. Um verbose-Ausgabe, die Sie vielleicht hinzufügenUm zu überprüfen, dass es funktioniert, auf jedem system, das Sie aufrufen können
qmake -spec win32-msvc2008
; die Besondere msvc version ist egal.Für
unixmake
,AR
dient zum aufrufen der linker, so müssen Sie die flags zuQMAKE_AR
. Um verbose-Ausgabe, die Sie vielleicht hinzufügenZu überprüfen, rufen Sie
qmake -spec macx-llvm
; jede andere unix-spec sollte auch funktionieren.