Ich versuche, Optimierungs-Flags zu gcc mit der Qmake .proDatei weitergeben müssen:Warum fügt qmake in diesem Fall Flags -O1 und -O2 hinzu?
hello.pro:
TEMPLATE = app
CONFIG += console
CONFIG -= app_bundle
CONFIG -= qt
SOURCES += main.cpp
QMAKE_CXXFLAGS += -O3 \
main.cpp:
#include <iostream>
int main()
{
std::cout << "Hi!" << std::endl;
return 0;
}
Kompilierungsausgabe:
15:14:34: Schritte zum Projekt TestGrounds Lauf ...
15.14.34: Beginn:
"/ usr/bin/make" clean rm -f main.o
rm - f * ~ core * .core
15:14:34: Der Prozess "/ usr/bin/make" wurde normal beendet.
15:14:34: Konfiguration unverändert, überspringen qmake Schritt.
15:14:34: Start: "/ usr/bin/make"
g ++ -c-Rohr -O3 -O2 -Wand -W -fPIE -I/opt/Qt5.2.0/5.2.0/gcc/mkspecs/linux-g ++ -I ../../ Projekte/TestGrund -I. -o main.o ../../Projects/TestGrounds/main.cpp
g ++ -Wl, -O1 -Wl, -rpath,/opt/Qt5.2.0/5.2.0/gcc -o TestGrunds main .o
15:14:35: Der Prozess "/ usr/bin/make" wurde normal beendet.
15:14:35: Verstrichene Zeit: 00:01.
Aber warum werden die -O1 und -O2 Optimierungsflags zu übergeben?
Ich habe versucht, das Projekt zu reinigen und es neu zu erstellen und das Ergebnis ist das gleiche.
behoben das '* =' für dich :-) – rubenvb
Danke! Dadurch wurde das ursprüngliche -O2-Flag entfernt, aber das zweite ist noch vorhanden. Ich würde auch gerne wissen, warum diese Fahnen dort sind. –
bad fix :-(, wenn irgendwo -O3 angewendet wurde, erhalten wir Duplikate. * = - wird nur zur Liste hinzugefügt, wenn sie nicht bereits definiert ist. @rubenvb bitte meine Version zurückgeben). – DeadWarlock