Я пытаюсь создать группу проектов Qt Creator с несколькими пользовательскими библиотеками, совместно используемыми между ними. Все они используют C++ 11 и Boost и управляются в репозиториях Git.Распределение «под ключ» проектов и библиотек Qt Creator?
В настоящее время я использую CMake и символические ссылки. Таким образом, существующая структура каталогов выглядит примерно так:
projects/
libraryOne/
include/
libraryOne/ ; Parent in -I paths, then #include "libraryOne/foo.h"
src/
libraryTwo/
include/
libraryTwo/
src/
libraryOne/ ; symbolic link
libraryThree/
include/
libraryThree/
src/
libraryTwo/ ; symbolic link
applicationOne/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
applicationTwo/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
applicationThree/
CMakeLists.txt
libraryOne/ ; symbolic link
libraryTwo/ ; symbolic link
libraryThree/ ; symbolic link
build/
Для создания данного приложения, я иду в build/
подкаталог этого приложения и запустить cmake ..
поэтому он будет генерировать мейкфайлы из CMakeLists.txt
(так что приложат все посредник и строить продукты под build/
). Затем я запускаю make
.
Вот как эта конкретная установка развивалась, и она довольно неуклюжая. Я хочу удалить зависимость CMake и сделать его тривиальным для тех, у кого есть Qt Creator, до git clone
моих отдельных исходных репозиториев, одного или нескольких приложений, загрузки файла .pro и затем нажмите «Сборка» и запустите его.
Другие пожелания:
- Нет необходимости создавать символические ссылки
- Добавление и удаление файлов должны быть выполнимыми в графическом интерфейсе без необходимости отредактировать Makefile
- Загрузка приложения в редактор должен сделать библиотеки, доступные для редактирования, а также для зависимостей построения следует автоматически заботиться
- В режиме отладки вы можете установить точку останова в любой из библиотек, и среда может остановиться на ней
- Поместите объектные и исполняемые файлы в директории, не подкаталог исходного кода
Я интересно, если есть «чистый» пример того, как это ... есть ли хорошие примеры, чтобы следовать во вселенной Qt Creator? Слишком амбициозно ожидать, что .pro
файлы автоматически обрабатывают такую кросс-платформу?
+1 для связи. Ваш пример не совсем то, что я ищу, потому что вы помещаете библиотеки в проект приложения, и у меня есть библиотеки, разделяемые в нескольких приложениях. : -/По умолчанию настройки Qt Creator не будут работать для меня, особенно для сборки библиотек бок о бок в ужасно названных каталогах, таких как '[libname] -build-desktop-Desktop_Qt_4_8_1_for_GCC__Qt_SDK__Release /'! – HostileFork
Вы не пробовали, не так ли? В этом ответе есть три проекта: главный проект, проект библиотеки и проект приложения. Последние два являются отдельными. Главный проект для удобства: его построение построит библиотеку (и) и, наконец, приложение. Это именно то, что вы ищете. –
Чтобы уточнить: я имел в виду, что у меня было бы несколько «лучших» проектов приложений, использующих одни и те же библиотеки, поэтому я не могу сделать поддиректории библиотек «верхнего» приложения. Я обновил свой вопрос, чтобы получить более четкие сведения о ситуации, в которой я пытаюсь изящество. Если вы считаете, что можете адаптировать свой ответ к этому сценарию, это было бы очень полезно! – HostileFork