Как поместить сгенерированные файлы (например, файлы объектов) в отдельную папку при использовании Qt/qmake?
У меня есть проект Qt, который использует qmake. Чтобы улучшить ясность и удобочитаемость, я хотел бы сохранить
- исходные файлы
- система сборки
- сгенерированные файлы (например, файлы объектов)
отдельно.
Итак, первым шагом я поставил исходные файлы в каталог src/sub:
myproject/
myproject.pro
src/
main.cpp
MainWindow.ui
...
Таким образом я выделил исходные файлы из системы сборки (*.pro). Однако, когда я запускаю qmake
, за которым следует make
, сгенерированные файлы (объектные файлы и т.д.) Помещаются в основную папку проекта:
myproject/
myproject.pro
Makefile
main.o
ui_MainWindow.h
...
src/
main.cpp
MainWindow.ui
...
Ну, по крайней мере, они не были помещены в папку src/
, но как я могу указать, что они помещаются в другую подпапку, такую как build/
?
myproject/
myproject.pro
Makefile
build/
main.o
ui_MainWindow.h
...
src/
main.cpp
MainWindow.ui
...
(BTW, мне все равно, куда помещается целевой двоичный myproject
, но я предполагаю, что он должен быть помещен непосредственно в папку проекта, а не в build/
.)
Ответы
Ответ 1
Вы можете добавить следующие строки в файл *.pro
:
DESTDIR=bin #Target file directory
OBJECTS_DIR=generated_files #Intermediate object files directory
MOC_DIR=generated_files #Intermediate moc files directory
Список переменных доступен в следующих местах: