2010-08-09 13 views
13

Tengo un proyecto Qt que usa qmake. Para mejorar la claridad y legibilidad, me gustaría mantener los archivos de origen¿Cómo poner archivos generados (por ejemplo, archivos de objeto) en una carpeta separada cuando se usa Qt/qmake?

  • sistema de construcción
  • generada archivos (como archivos de objetos)

separada.

Así que mi primer paso estaba dando los archivos a un directorio src/substitución:

myproject/ 
    myproject.pro 
    src/ 
     main.cpp 
     MainWindow.ui 
     ... 

De esa manera me separé los archivos de origen del sistema de construcción (* .pro). Sin embargo, cuando a continuación, ejecutar qmake seguido por make, los archivos generados (archivos de objetos, etc.) se colocan en la carpeta principal del proyecto:

myproject/ 
    myproject.pro 
    Makefile 
    main.o 
    ui_MainWindow.h 
    ... 
    src/ 
     main.cpp 
     MainWindow.ui 
     ... 

Bueno, al menos no se pusieron en la carpeta src/, pero ¿Cómo especifico que se colocan en otra subcarpeta como build/?

myproject/ 
    myproject.pro 
    Makefile 
    build/ 
     main.o 
     ui_MainWindow.h 
     ... 
    src/ 
     main.cpp 
     MainWindow.ui 
     ... 

(Por cierto, no me importa donde se pone el objetivo binario myproject, pero supongo que debe ser colocado directamente en la carpeta del proyecto en lugar de en build/.)

Respuesta

18

Se pueden añadir las siguientes líneas a su *.pro archivo:

DESTDIR=bin #Target file directory 
OBJECTS_DIR=generated_files #Intermediate object files directory 
MOC_DIR=generated_files #Intermediate moc files directory 

una lista de variables está disponible en los siguientes lugares:

+0

No funciona para mí. – abhiarora

Cuestiones relacionadas