Первое развертывание приложения Qt, динамическая связь?

Я начинаю изучать развертывание приложения Qt, которое я разрабатывал, но мне никогда не приходилось развертывать какое-либо приложение C ++ до этого.

Я хочу иметь возможность отправлять свой продукт как предварительно скомпилированный исполняемый файл, который динамически связывается с файлами общей библиотеки (Qt) для Linux / Windows, так что есть исполняемый файл, который ищет в своих собственных подкаталогах библиотеки вместо библиотек, которые могут быть установлен в результате других продуктов Qt.

Это то, что возможно? Или файлы библиотеки Qt должны быть установлены отдельно, чтобы приложение связывалось с ними? Я хочу не требовать от конечного пользователя установки НИЧЕГО на свои системы, а также избегать статических ссылок.

2

Решение

Это нормальное поведение для Qt. Как это сделать, во многом зависит от вашей системы сборки.

Если вы используете CMake, вы можете создавать инсталляторы с помощью CPack. Вот ссылка на сайт для добавления необходимых общих библиотек в установщик. CPack делает много разных типов инсталляторов для Linux, Windows и Mac OS X.

Вы также можете создавать свои собственные установщики, используя NSIS. Это намного сложнее, но выполнимо.

Qt имеет документация о том, как развертывать приложения, использующие их библиотеки.

В моей компании мы работаем как с CPack, так и с NSIS. Путь к CPack намного проще, и в сети есть больше примеров.

3

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

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

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