Добавить или не добавлять Qt Libs и Headers в каталог проекта

Имеет ли смысл добавлять соответствующие библиотеки Qt Lib и заголовки (версия с открытым исходным кодом) в репозиторий проектов, или я должен просто ссылаться на них из каталога sdk?


Я (один) занимаюсь разработкой кроссплатформенного (windows / linux) приложения c ++, которое будет использовать ряд сторонних библиотек с открытым исходным кодом, включая Qt, OpenCV, log4cpp и многие другие.

Для удобства я начал разработку в Qt Creator (быстрое создание графического интерфейса). В настоящее время у меня установлен Qt Sdk в Linux и Windows за пределами каталога проекта.

Я планирую перейти на CMAKE для лучшей конфигурируемости, например, сборок вне исходного кода и независимости от Qt Creator, и я хотел бы, чтобы все зависимости были включены в структуру каталогов проекта, чтобы я или кто-либо другой мог проверить проект и строить без необходимости устанавливать какие-либо другие зависимости.

Я добавил все библиотеки, кроме Qt, в каталог, так как я немного не уверен, стоит ли оно того — похоже, что CMAKE зависит от Qt Sdk для компиляции определенных файлов Qt, то есть moc, ui и т.д … (посмотреть здесь) это тот случай? или есть лучший инструмент для сборки? (Изначально я собирался использовать Scons, но я решил не делать этого, так как поддержка, казалось, была ограниченной … и не было разработки Инструменты Qt4 с 2010 года, что тоже не внушает доверия.)

0

Решение

Qt слишком велик для размещения в каталоге проекта, даже если вы включаете только один из его модулей. Также у вас есть несколько удобных функций в CMake для использования Qt (добавить moc, rcc, ui). Вы даже можете написать эти функции самостоятельно (по-быстрому, они просто добавляют команду перед сборкой).

Для операций сборки: вам нужно будет использовать moc (и возможно ui, rcc, …), который не предоставлен CMake. Итак, человек, желающий собрать ваше приложение, должен иметь установленный Qt SDK. К счастью, эта установка очень проста.

4

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]