Статическое связывание с проектом Qt - PullRequest
4 голосов
/ 17 апреля 2011

У меня есть проект Qt, который я построил в Visual Studio 2010 Professional.Однако, когда я запускаю его (в режиме Debug или Release), он запрашивает несколько Qt dll.Это работает, если я поставляю dll и бросаю их в System32, но мой вопрос, как мне сделать так, чтобы все библиотеки были включены в .exe?У меня есть все необходимые статические библиотеки, я просто не знаю, как это сделать, чтобы приложение не запрашивало их у конечного пользователя.

1 Ответ

6 голосов
/ 17 апреля 2011

Правильный способ - создать программу установки, которая устанавливает библиотеки Qt вместе с вашим приложением.Visual Studio поставляется с шаблоном проекта установки, который вы можете легко использовать для создания собственного установщика.Статическое связывание редко бывает хорошим вариантом по многим причинам.

Однако, если вы настаиваете на статическом связывании, вам нужно будет перекомпилировать источники Qt с флагом -static.
Доступно пошаговое руководство. здесь для Qt 4.

И если вы используете версию Qt для LGPL, убедитесь, что вы прочитали ответы на этот вопрос и соответствующим образом устранены все юридические вопросы, связанные с вашим развертыванием.

...