Нужны ли мне все библиотеки Nokia QT? - PullRequest
1 голос
/ 20 марта 2012

Если я выпускаю программу, встроенную в инфраструктуру QT:

1) Как мне найти, какие DLL мне нужно включить

2) Должен ли я включать DLL или код, скомпилированный в EXE

Программа очень простая, просто интерфейс с двумя текстовыми полями и кнопкой.

Я просто не хочу, чтобы в QT DLL было 5 МБ для файла EXE размером 100 КБ.

Ответы [ 2 ]

1 голос
/ 20 марта 2012

Если вы не статически связываетесь (для чего требуется статический Qt, который вам нужно будет собрать из исходного кода), вам нужно поставлять DLL. Чтобы узнать, какие библиотеки DLL нужны, вы можете использовать что-то вроде Dependency Walker или проверить строку ссылки при компиляции / в сгенерированном Makefile. Обычно это QtCore, QtGui и все, что вы явно настроили в файле .pro, например CONFIG += xml, CONFIG += webkit или CONFIG += network и т. Д.

В каждом случае я бы ожидал несколько МБ, даже если ваш собственный код - это всего лишь несколько КБ (это всего лишь несколько КБ, потому что Qt все-таки выполняет всю тяжелую работу).

0 голосов
/ 20 марта 2012

Если вы связываете статические библиотеки в свой исполняемый файл, вам не понадобятся библиотеки DLL.

Если вы связываете разделяемые библиотеки в свой исполняемый файл, вам понадобятся библиотеки DLL.

Вы можете сказать, какие из них 'повторная компиляция, если вы посмотрите на командную строку и увидите / MT или / MD для статического и общего доступа соответственно.

Если лицензия позволяет включать статические библиотеки, это, как правило, гораздо более простое решение.

...