2013-07-10 2 views
1

Немного фона: Я создаю приложение QT на основе общей библиотеки. Я должен распространять то же самое. У меня довольно много DLL для совместного использования, и я использую ходунщик зависимостей. Я сделал полное профилирование моего приложения QT, а Walker Dependency правильно определил все библиотеки shaed.Создать архив библиотеки из зависимого ходока?

Теперь мой вопрос: Поскольку зависимость ходок знает путь всех библиотек DLL, есть ли возможность сделать связку, задавая зависимость ходок, чтобы скопировать все библиотеки DLL в папку или около того. Я провел некоторое исследование в google и не нашел.

Может кто-нибудь любезно проконсультировать меня за то же самое или есть ли другой инструмент, чтобы сделать то же самое?

+0

Можете ли вы сказать мне, где находится ходок зависимости? – johnbakers

+0

Вы можете скачать его с http://www.dependencywalker.com/. Надеюсь, это был ваш вопрос –

ответ

0

Вот мои мысли и бред на тему:

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

Скорее всего, на самом деле не так много зависимостей. Большинство библиотек windows api нельзя копировать.

Возможно, вам понадобится установить один из vscred-пакетов, например, если вы построили его с MSVS 2010 до 32-битного двоичного файла, вам, вероятно, потребуется запустить установщик MSVS C++ Redistributables 2010 x86 на клиентской машине.

Но теперь, когда вы выяснить, как получить все те вещи, которые у вас есть в вашем пути доступны на новой машине клиента здесь некоторые вещи, которые нужно иметь в виду:

Зная, как порядок поиска окон помогает.

http://msdn.microsoft.com/en-us/library/windows/desktop/ms682586(v=vs.85).aspx#search_order_for_desktop_applications

зная Кроме того, как Qt находит свои собственные библиотеки и плагины помогает.

http://qt-project.org/doc/qt-4.8/deployment-windows.html

Кроме того, вам нужно будет сделать собственную структуру папок и скопировать зависимости.

NSIS делает установщики. Существуют также другие системы установки для развертывания вашего приложения. Вы также можете использовать 7zip для создания самораспаковывающегося почтового индекса и дать ему место для сброса содержимого.

Надеюсь, что это поможет.

0

Для приложений QT вы можете использовать QT Deploy Toolwindeployqt, который поставляется с QT и находится в QTDIR/bin/windeployqt. Он сканирует ваш exe-файл и находит зависимости QT для самостоятельного развертывания.

Смежные вопросы