Zusätzliche Buildargumente Hinzufügen?

Alles zu Entwicklungsumgebungen und Editoren für Qt
Antworten
phlox81
Beiträge: 97
Registriert: 7. Juli 2009 12:30
Kontaktdaten:

Zusätzliche Buildargumente Hinzufügen?

Beitrag von phlox81 »

Hallo,

im Creator unter Projekt versuche ich in einer eigenen Konfiguration mit -D ein Define setzen.
Z.b. -DAPPTEST=0, so das die Testumgebung konfiguriert ist (#ifdef).

Wie mache ich das? Qmake als auch mingw32-make mögen das als Argument nicht.

phlox
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Im Assistant "Running qmake" stößt man auf diese Zeile:

Code: Alles auswählen

qmake "CONFIG+=test" test.pro
Für dich sollte also ein

Code: Alles auswählen

qmake "DEFINES+=-DAPPTEST=0" project.pro
der richtige Weg sein.
Im Creator kann man jetzt unter "Build Steps->QMake" zusätzliche Argumente angeben. Spiel einfach damit rum :)
phlox81
Beiträge: 97
Registriert: 7. Juli 2009 12:30
Kontaktdaten:

Beitrag von phlox81 »

Hm, danke. Aber jetzt habe ich ein neues Problem, denn das funktioniert nicht ganz wie ich es will.

Denn die erstellte exe landet immer noch im release bzw. debug ordner, ich hätte sie aber gerne im test ordner. Genau diesen Pfad kann ich aber nicht verändern...

Gibts dafür evtl. nen Hack? :lol:
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

phlox81 hat geschrieben:Denn die erstellte exe landet immer noch im release bzw. debug ordner, ich hätte sie aber gerne im test ordner. Genau diesen Pfad kann ich aber nicht verändern...

Gibts dafür evtl. nen Hack? :lol:
Ungetestet:
Die Checkbox bei "Shadow Build" über der Pfadangabe anhäkeln, dann ist das Build Directory editierbar.
phlox81
Beiträge: 97
Registriert: 7. Juli 2009 12:30
Kontaktdaten:

Beitrag von phlox81 »

In der Ecke hatte ich jetzt garnicht nachgesehen.
Bringt mich aber nicht ans Ziel, da er jetzt in dem Verzeichnis wieder release/debug Verzeichnisse erstellt, ich brauche aber eigentlich nur das Verzeichnis ./test/ da soll dann auch direkt die exe liegen. (und mit shadowbuild kann ich genau dies auch nicht einstellen)

Auch bekomme ich dann build errors:

Code: Alles auswählen

Failure to read QMAKESPEC conf file c:/../Qt/2009.05/qt/mkspecs/win32-g++\qmake.conf.
MAKEFILE_GENERATOR variable not set as a result of parsing : C:/Projekte/qtc/SCGen/SCGen.pro. Possibly qmake was not able to find files included using "include(..)" - enable qmake debugging to investigate more.
mingw32-make: *** [makefile] Error 3
phlox
franzf
Beiträge: 3114
Registriert: 31. Mai 2006 11:15

Beitrag von franzf »

Code: Alles auswählen

c:/../Qt/2009.05/qt/mkspecs/win32-g++\qmake.conf. 
2 Sachen: Ich kenn mich mit Windows nicht aus, aber das "c:/../Qt" irritiert mich.
Außerdem gibt es verschiedene File-Separatoren: "/" und vor dem qmake.conf ein "\". funktioniert das unter Windows denn problemlos?
Ansonsten bin ich kein qmake-Verwender. Ich nehm eigentlich immer cmake. Das erlaubt ohne Probleme das Bauen außerhalb des src-dirs (da bleiben die Sourcen saber :))
Und bei einem CMake-Projekt kann ich im Qt-Creator ohne Probleme das Build Directory umstellen.
(Außerdem nehm ich seit der letzten Beta wieder kdevelop)

Vielleicht hat ja jemand mit qmake-.pro + qt-creator mehr Erfahrung, und hat hier eine konkrete Lösung.
solarix
Beiträge: 1133
Registriert: 7. Juni 2007 19:25

Beitrag von solarix »

im Creator unter Projekt versuche ich in einer eigenen Konfiguration mit -D ein Define setzen.
Denn die erstellte exe landet immer noch im release bzw. debug ordner, ich hätte sie aber gerne im test ordner. Genau diesen Pfad kann ich aber nicht verändern...
Weil ich bisher mit dem Creator lediglich herumgespielt habe begebe ich mich hier etwas auf Glatteis... aber es ist ja Winter.. :wink:

IMHO kann man problemlos die pro-File von Hand verändern... der Creator fügt neue Source-/Form-/Header-Dateien in die Pro-File ein, ohne die manuell eingetragenen Zeilen zu verändern. Also:

Für Problem #1 einfach "DEFINES+=-DAPPTEST=0" (wie beschrieben) in die Pro-Datei eintragen..

Für Problem #2 einfach "DESTDIR = ../bin" (oder "test" oder sonst was) in die Pro-File eintragen... (siehe http://doc.trolltech.com/4.6/qmake-advanced-usage.html).

Das hat auch gleich den Vorteil, dass das Projekt ab Konsole mit einem einfachen "qmake && make" generiert werden kann...Creator-unabhängig..

hth..

[EDIT]
Ich kenn mich mit Windows nicht aus, aber das "c:/../Qt" irritiert mich.
Mich auch.. das gibt's mit Sicherheit nicht...
Außerdem gibt es verschiedene File-Separatoren: "/" und vor dem qmake.conf ein "\". funktioniert das unter Windows denn problemlos?
IMHO ja... "qmake" ist ja auch in Qt geschrieben... und da werden Separatoren automatisch umgesetzt.... sonst wäre es ja nicht möglich, ein plattformunabhängiges Pro-File zu erstellen ("SOURCES += ./src/x.cc" funktioniert unter *X und Windoof..)
Antworten