C++, QT - Как я избавляюсь от dll зависимостей?

Я скомпилировал свое спокойное приложение и теперь имею следующий вопрос - теперь, мой разработанный проект требует QtCore4.dll и QtGui4.dll быть расположенным в той же папке где .exe файл. (Я разработал свой проект с помощью MSVS2008 со спокойным дополнением),

Q:

Есть ли любой способ объединить мое заключительное приложение с ними .dll файлы так, чтобы они сделали одно большое .exe- файл? (Я просто не хочу иметь другой набор dll файлов с моим выпуском - приложение),

Спасибо.

5
задан Yippie-Ki-Yay 5 June 2010 в 17:04
поделиться

3 ответа

Вам необходимо построить и связать с Qt статически.

Редактировать: Вот обновленная ссылка как минимум на аналогичную информацию .

9
ответ дан 13 December 2019 в 19:22
поделиться

Конечно, вы можете каким-то образом статически связать. Но смысл использования DLL должен заключаться в уменьшении размера программы (как на диске, так и в памяти, если, конечно, другие приложения используют библиотеки Qt) ... Такие DLL должны быть общесистемными, чтобы другие приложения, нуждающиеся в них, могли их использовать. По сути, вы должны сказать людям, желающим, чтобы ваша программа работала, установить фреймворк Qt.

Развертывание другим способом объясняется здесь , прочтите часть, относящуюся к статическому связыванию.

0
ответ дан 13 December 2019 в 19:22
поделиться

Соберите их в самораспаковывающийся .exe (например, с помощью 7zip), который распакует все файлы во временный каталог, запустит программу, а затем удалит файлы после выхода программы.

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

2
ответ дан 13 December 2019 в 19:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: