#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 без включения каких-либо двоичных или сгенерированных файлов