Название: Папки debug/release в теневой сборке Отправлено: __Heaven__ от Август 03, 2016, 10:12 Привет, друзья!
В настройках проекта можно явно указать куда я хочу скидывать файлы, генерируемые компиляторами/компоновщиком для каждого типа конфигурации. По какой-то причине в папке каждого типа конфигурации создаются директории debug и release. Причём в зависимости от конфигурации, одна из папок пустая. И получается, что путь ко вложенным подпроектам (библиотекам) необходимо настраивать весьма странным способом. Я как-то раньше обходил эту проблему, но как - не помню. Что необходимо сделать, чтобы я мог чётко определить где я получу скомпилированную библиотеку? Название: Re: Папки debug/release в теневой сборке Отправлено: Apktyc от Август 03, 2016, 10:49 В .pro файле
DESTDIR - для указания пути куда будет помещен результат сборки. PRECOMPILED_DIR = $$DESTDIR - для подавления создания папок debug и release. Название: Re: Папки debug/release в теневой сборке Отправлено: __Heaven__ от Август 03, 2016, 11:02 Нет, PRECOMPILED_DIR не сработал. Qt 5.7.
Да и не самый это подходящий вариант, так как у меня имеется в подпроектах сторонняя либа, код которой, я бы хотел не трогать, чтобы не копировать к себе в репозиторий Название: Re: Папки debug/release в теневой сборке Отправлено: kuzulis от Август 03, 2016, 12:17 У меня ничо не создается (ни в Linux, ни в Windows):
1. Имею .qmake.conf в корне проекта Код: top_builddir=$$shadowed($$PWD) 2. И собственно, структура про-файлов приложения: Код: QT += gui widgets 3. И собственно, структура про-файлов плагинов: Код: QT = И все складывается как надо. PS: Qt 5.6/5.7 && QtC 4.0.3/3.5 Название: Re: Папки debug/release в теневой сборке Отправлено: AlFoX от Август 03, 2016, 16:58 CONFIG -= debug_and_release
Название: Re: Папки debug/release в теневой сборке Отправлено: __Heaven__ от Август 04, 2016, 09:19 CONFIG -= debug_and_release Помогает, только как быть с проектом, который нельзя редактировать? В аргументы запуска qmake не хотелось добавлять, т.к. хотелось бы больше автомата.kuzulis, тоже получается, что надо редактировать репозщиторий стороннего проекта. Название: Re: Папки debug/release в теневой сборке Отправлено: ssoft от Август 04, 2016, 09:28 Можно сделать свой проектный файл по принципу
Код: CONFIG -= debug_and_release Название: Re: Папки debug/release в теневой сборке Отправлено: __Heaven__ от Август 04, 2016, 09:43 Да, но этот файл должен будет существовать в репозитории библиотеки и его невозможно будет включить в subdirs проект
Название: Re: Папки debug/release в теневой сборке Отправлено: AlFoX от Август 04, 2016, 17:40 Не совсем понятна проблема. Почему он должен быть в репозитории?
Как-то так можно CONFIG -= debug_and_release exists($$PWD/../outsideRepoDir/thirdpartyLib/lib.pro){ SUBDIRS += $$PWD/../outsideRepoDir/thirdpartyLib/lib.pro } Eще как вариант посморите на файл .qmake.cache в корне проекта. Он может содержать глобальные переменные. Туда можно поместить: CONFIG -= debug_and_release Название: Re: Папки debug/release в теневой сборке Отправлено: __Heaven__ от Август 05, 2016, 10:14 AlFoX, у меня всё равно в подпроектах создаётся дебаг и релиз. Эти советы работают только для проекта верхнего уровня. Подпроекты уже со своими конфигурациями собираются. Пока вышел из ситуации добавлением "CONFIG-=debug_and_release" в аргументы запуска qmake
Название: Re: Папки debug/release в теневой сборке Отправлено: __Heaven__ от Август 05, 2016, 10:16 Дело в том, что я хочу максимально автоматизировать процесс сборки. Чтобы после скачивания репозитория была возможность без лишних телодвижений собрать проект
|