2015-07-30 2 views
0

Я развертываю свой проект QT на машине Windows, и все работает нормально. Вчера я добавить библиотеку QWT в мой проект, и когда я развернуть его исполняемый файл не начнет давать эту ошибку (На QtCreator все работает отлично)Ошибка развертывания проекта QT с Qwt

Процедура точки входа? StaticMetaObject @ QGraphicsEffect @@ 2UQMetaObject @@ B не удалось найти в динамической библиотеке ссылок. Qt5Widgets.dll

Я думаю, что я включил всю необходимую библиотеку.

Я пытался использовать windeployqt,

Я включил

DEFINES + = QWT_DLL

на верхней части моего .pro файла для чтения here но все равно дайте мне эту ошибку. Возможно, я пропустил некоторую зависимую dll. Есть ли у вас какие-либо идеи о том, как решить эту проблему?

+0

Попробуйте использовать 'windeployqt.exe', если вы используете Windows –

+0

Я уже пробовал это, и он дает мне ту же ошибку. – nicodio

+1

Как насчет ['Dependency walker'] (http://www.dependencywalker.com/)? –

ответ

0

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

Я использовал QWT в моей программе и скомпилирован в Qt 5.5 с MSVC2013 32bit на 64bit Windows, 10. После изменения имени папки «Qt» на «QtHidden», как мотивационные here, я попытался получить приложение для запуска со всеми DLL в той же папке и получал странную ошибку о qwt, как вы, althouth я добавил qwt.dll.

Чтобы получить его работу я сделал следующее:

  1. скопировал все DLLs в QtHidden/5,5/mingw492_32/бен моей развертывает папку
  2. я скопировал все папки в QtHidden/5,5/mingw492_32/плагины
  3. скопировал все папки в QtHidden/5.5/mingw492_32/QML

    // Довольно стандартный непока Теперь

  4. добавил qwt.dll

    // Теперь для трюка

  5. Исполняется шаги 1,2,3, но для папки QtHidden/5,5/msvc2013, перезаписывать все dll и папки, ранее добавленные с /mingw492_32.

Итак, что я считаю, что происходит, что некоторые из библиотеки DLL MinGW необходимы, как libgcc_s_dw2-1.dll и libstdC++ - 6.dll, но и все другие библиотеки DLL должны прийти из папки MSVC2013 для QWT работать , который использовался компилятором.

Мне удалось запустить его в Windows Xp 32bit после добавления MSVCP120.dll и MSVCR120.dll.Все еще нужны были дополнительные, потому что MSVC2013 не был установлен на компьютере Windows Xp.

Скомпилирован в Windows 10 со всеми ресурсами и работает под управлением Windows Xp. Я бы назвал это успешным.

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

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