Я думаю, причина того, что это работает в Windows, а не в Linux, в том, что вы использовали заглавные буквы «Debug» и «Release».Все примеры, которые я нашел, содержат их в нижнем регистре (см. Второй пример в этом разделе на странице документа qmake .)
Другая вещь, которую я задаю вопрос, - это использование DESTDIRS.DESTDIRS сообщает qmake, куда вы хотите поместить ЦЕЛЬ.Если вы хотите напрямую контролировать, куда помещаются только объектные файлы, вы должны использовать OBJECT_DIRS .
Лично я использую ключевое слово qmake INSTALLS , чтобы копировать дополнительные файлы, гдеим нужно идти.Это означает выполнение как make
, так и make install
, но при этом генерируется более зависимый от платформы код.
Если я предполагаю, что вы хотите TARGET и объекты в 'debug' или 'release',Я бы сделал это так:
# Habilita a opcao de copia de diretorios
debug {
DESTDIR = debug
OBJ_DIR = debug
}
release
{
DESTDIR = release
OBJ_DIR = release
}
# copia a pasta configuracao para o diretorio de saida
config_files.path = $$DESTDIR
config_files.files = default_layout.kl
INSTALLS += config_files
Если вы работаете с QtCreator, вы можете добавить шаг make install
в настройки здания, выбрав значок «Проекты» на левой панели инструментов.Затем выберите «Add Build Step», «Make» и установите для «Make arguments» значение install
.Вам придется делать это для каждой конфигурации сборки.