Как я могу указать файлу Qt Creator PRO выводить файлы *.o и moc_ * в отдельную папку?

#qt #object #file #project #temp

#qt #объект #файл #проект #temp

Вопрос:

В настоящее время QtCreator создает файлы .o и moc_ в корневой папке приложения. Как я могу указать файлу проекта поместить их во вложенную папку с именем «obj»?

Комментарии:

1. Есть идеи, как управлять qrc_PROJECT.cpp как мы можем находиться в папке Obj вместо root?

Ответ №1:

Для этого вы можете использовать переменные OBJECTS_DIR и MOC_DIR . например, сам Qt делает что-то подобное при сборке:

 OBJECTS_DIR = .obj
MOC_DIR     = .moc
  

В этом случае я думаю, что каталоги .obj, .moc относятся к каталогу, содержащему Makefile.

Ответ №2:

Чтобы сохранить вашу основную (исходную) папку чистой от двоичных и сгенерированных файлов, вы можете поместить следующие строки в свой «myapp.pro «файл:

 DESTDIR = ../../bin
UI_DIR = .

CONFIG(debug, debug|release) {
        TARGET = myappd
        OBJECTS_DIR = ../../build/myapp/debug
        MOC_DIR = ../../build/myapp/debug
}

CONFIG(release, debug|release) { 
        TARGET = myapp
        OBJECTS_DIR = ../../build/myapp/release
        MOC_DIR = ../../build/myapp/release
}
  

Приведенные выше настройки подразумевают следующую структуру каталогов:

 myprojects/source/myapp/   => containing myapp.pro   all other project files hpp, cpp etc.
myprojects/bin/  => containing myapp.exe amp; myappd.exe application files
myprojects/build/myapp/release  => object files   moc files (release)
myprojects/build/myapp/debug   => object files   moc files (debug)
  

Последние 3 каталога будут созданы автоматически, если они не существуют.

Преимущества этой схемы заключаются в:

a. Вы можете переместить свой проект (каталог myapp) в другой родительский каталог, и он продолжит нормально собираться из-за относительной спецификации каталогов bin и build

б. Вы можете добавить больше подпроектов в myprojects / source/

c. Вы можете создать резервную копию (например, ZIP) всех myprojects / source / directory без включения каких-либо двоичных или сгенерированных файлов