2009-08-19 9 views
6

Kiedy buduję aplikacje Qt na Ubuntu, umieszcza pliki wyjściowe w głównym folderze rozwiązania, w przeciwieństwie do folderów wydania/debugowania, tak jak robi to w systemie Windows.Qt nie tworzy plików wyjściowych w folderach debugowania/wydania w systemie Linux

Jest to problematyczne, ponieważ czasami pliki wyjściowe muszą być uruchamiane jako część procesu kompilacji (na przykład do uruchamiania testów jednostkowych).

Mam pomysł, że ma to coś wspólnego z plikami qmake.conf, ale nie jestem pewien, co z tym zrobić.

Więc moje pytania to:

  1. Dlaczego ta różnica istnieje (może to być po prostu mnie?)
  2. W jaki sposób należy przejść o upewniając moje aplikacje będą budować poprawnie na Windows i Ubuntu?

Odpowiedz

6

Zakładam, że używasz qmake do rzeczywistego budynku. Można edytować pliki projektu umieścić wyjście w różnych katalogach tak:

# only for unix: 
unix { 
    # in debug mode... 
    CONFIG(debug, debug|release) { 
     DESTDIR = debug 
    } 
    else { 
     DESTDIR = release 
    } 
} 

oczywiście, aby to zadziałało trzeba budować zarówno debugowania i zwolnij wykonywalne. Więcej informacji na ten temat można znaleźć here

Cheers

+0

To działało dla OSX również z "mac" jako warunek. W systemie OSX folder YourProgram.app zostanie umieszczony bezpośrednio w katalogu "debug" lub "release", a rzeczywisty plik wykonywalny zostanie umieszczony o kilka poziomów niżej w pliku YourProgram.app/Contents/MacOS. –

6

Zmienna CONFIG ma debug_and_release i debug_and_release_target zestaw na Windows, ale nie w systemie Linux. Więc następujące linia będzie upewnić się, że budowa będzie taka sama na linux i windows:

CONFIG *= debug_and_release debug_and_release_target 

documentation krótko wspomina. Plik /usr/share/qt4/mkspecs/win32-g++/qmake.conf dodaje go do CONFIG.

+0

Pójdę przetestować to jutro. Mam nadzieję, że to pozbędzie się zbędnych folderów debug/release un windows –

Powiązane problemy