[gelöst] Visual Studio Pfad beim Debuggen

Alles rund um die Programmierung mit Qt
Antworten
bobcat
Beiträge: 125
Registriert: 21. April 2010 14:51

[gelöst] Visual Studio Pfad beim Debuggen

Beitrag von bobcat »

Ich habe mein Projekt in folgende Verzeichnisse aufgeteilt:

Code: Alles auswählen

# Verzeichnis für den shadow build
./build

# Verzeichnis für erstellte dlls, exes, ...
./dist

# Verzeichnis für den Quellcode, .pro und .pri Dateien
./src
Ich rufe nun aus build qmake auf:

Code: Alles auswählen

cd build
qmake -r -tp vc ../src/myProject.pro
Danach liegen in build die Visual Studio .sln Dateien, die ich öffnen kann, um mein Projekt zu kompilieren und zu debuggen.

Ich möchte allerdings die Binaries direkt in dist erstellt bekommen, damit ich dort meine Dateien für die Auslieferungen der Software beisammen habe, also .exe, .dll, config Dateien, etc. Daher gebe ich in meiner .pro Datei ein DESTDIR an:

Code: Alles auswählen

# In myProject,pro
DESTDIR = $$PWD/../dist
Rufe ich nun z.B. meine ./dist/myProject.exe auf, dann kann diese direkt auf in dist gespeicherte Konfigurationen zugreifen, z.B. in ./dist/config. Wenn ich nun aber zum Debuggen das Visual Studio starte, also ./build/myProject.sln, dann wird die config in ./build/config gesucht, und nicht in ./dist/config.

Meine Frage: Weiß jemand, wie ich in qmake eine Option spezifizieren kann, dass Visual Studio zum Ausführen benötigte Dateien in einem anderen Verzeichnis sucht?

Alternativ: Was wäre eine best practice, um build, dist und src sauber getrennt zu halten? Bisher hatte ich nur ein Verzeichnis für build und dist, was leider die Ansammlung der vielen Dateien und Verzeichnisse ziemlich unübersichtlich macht.
Zuletzt geändert von bobcat am 24. Februar 2016 11:23, insgesamt 1-mal geändert.
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: Visual Studio Pfad beim Debuggen

Beitrag von veeman »

In VS unter Projekt->Einstellungen->Konfigurationseigenschaften->Debugging das Arbeitsverzeichnis auf dein dist setzen.
bobcat
Beiträge: 125
Registriert: 21. April 2010 14:51

Re: Visual Studio Pfad beim Debuggen

Beitrag von bobcat »

Das klappt. Damit ich das nutzen kann, müsste ich das Arbeitsverzeichnis jetzt noch in meinem .pro File angeben können, sonst ist die Einstellung ja nach jedem Ausführen von qmake wieder weg. Gibt es dafür eine Variable, analog zu DESTDIR?

Anscheinend steht die Einstellung in <LocalDebuggerWorkingDirectory> in der myProject.vcxproj.user. Nur, wie bekomme ich sie aus dem .pri File dorthin?
bobcat
Beiträge: 125
Registriert: 21. April 2010 14:51

Re: Visual Studio Pfad beim Debuggen

Beitrag von bobcat »

So wie ich das sehe, kann man das Arbeitsverzeichnis nicht aus dem .pro File setzen. Ich habe gesehen, dass es die Frage auch schon mal im Forum gab:

http://www.qtforum.de/forum/viewtopic.p ... nis#p42048

Insofern setze ich das Thema auf [gelöst] im Sinne von "Frage beantwortet".
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: [gelöst] Visual Studio Pfad beim Debuggen

Beitrag von veeman »

Die pro/pri Datei wird beim Import vom Add-In verarbeitet.
Wenn dies nicht im Addin implementiert ist, was es offensichtlich nicht ist, dann besteht hierzu keine Möglichkeit.
Vielleicht magst du den entsprechenden Code hierfür im Quellcode hinzufügen...
Zuletzt geändert von veeman am 26. Februar 2016 16:38, insgesamt 1-mal geändert.
bobcat
Beiträge: 125
Registriert: 21. April 2010 14:51

Re: [gelöst] Visual Studio Pfad beim Debuggen

Beitrag von bobcat »

Das würde ich tatsächlich überlegen. Allerdings müsste ich mich erst einmal einlesen, wie man das macht, einen patch für qmake erstellen. Ich müsste ja den qmake Quellcode nehmen, verstehen, ändern, neu kompilieren und dann bei mir einsetzen. Und idealerweise den patch der community auch zur Verfügung stellen. Momentan scheue ich etwas den initialen Aufwand für solch ein Vorhaben. Wenn Du ein paar Tipps hast, die mir den Weg vereinfachen, würde es mich interessieren.
veeman
Beiträge: 277
Registriert: 3. Oktober 2012 01:43
Kontaktdaten:

Re: [gelöst] Visual Studio Pfad beim Debuggen

Beitrag von veeman »

Ich bin davon ausgegangen, dass du die Projekte über das QT VS Addin importierst. Naja, vermutlich ruft dieses auch nur qmake auf.

Unter dem folgenden Link findest du ein Beispiel in dem schon jemand erfolgreich ein Feature implementiert hat:
https://blog.inventic.eu/2010/11/qt-qma ... s-project/

Der Quellcode von Qt steht unter http://code.qt.io/cgit/qt/qt5.git/ zur Verfügung.
Der Quelcode von qmake findet sich unter http://code.qt.io/cgit/qt/qtbase.git.
Die im Beispiel genannte Datei findest du unter qmake/generators/win32/msvc_vcproj.cpp.

Damit musst du nur noch ermitteln welche Konfiguration in der vcproj Datei für den Arbeitspfad in den Debugging Einstellung zuständig ist und diese entsprechend im Code generieren.

Das größte Problem wird vermutlich, wie immer, sein das ganze zu Compileren bzw. alle Abhängigkeiten hierfür richtig Einzustellen.
Antworten