Название: Разная библиотека при линковке и при запуске? Отправлено: alexeev от Октябрь 09, 2013, 11:28 Здравствуйте, вопрос заключается в следюущем. Написал программу, и из среды все запускается отлично. Из папки с exe-шником, тоже запускается (Пути ко всем DLL прописаны к переменной окружения, но часть окна с графикой не отображается). Сразу подумал что, какая-то библиотека как-то не так подгружается. Открыл exeшник dependency walkerом и увидел что Qtcored4.dll link check sum и real check sum не сходятся. Т.е как я понимаю, библиотека на которую ссылается exe шник не соответствует dll котрая ииспользуется при линковке. Или могут быть ещё каеи-то варианты? Подскажите пожалуйста такое в первый раз)
Название: Re: Разная библиотека при линковке и при запуске? Отправлено: kibsoft от Октябрь 09, 2013, 11:34 Скорее всего плагины не грузятся.
http://qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html Почитайте (для вашего случая раздел Qt Plugins). Если кратко, то скопировать папку imageformats из каталога с Qt и положить рядом с exe. P.S. Qtcored4.dll у вас взялась из PATH и checksum говорит только о том, что файлы либ разные, но они бинарно совместимы(поэтому приложение запустилось). Если бы они были несовместимые, то приложение просто бы не загрузилось, выдавая ошибку загрузки Qtcored4.dll. Название: Re: Разная библиотека при линковке и при запуске? Отправлено: alexeev от Октябрь 09, 2013, 11:40 Я использую qt 4. На 5 переходить пока не стали, т.к проект разрабатывался на 4. Попробывал подсунуть папку plugins рядом с exe - не помогло.
Название: Re: Разная библиотека при линковке и при запуске? Отправлено: kibsoft от Октябрь 09, 2013, 11:56 Qt5/Qt4 с плагинами разницы нет. Я обычно в таких случаях делаю так:
Запускаю прогу из Qt Creator, а замет запускаю ProcessExplorer и там смотрю какие либы подгрузились. Затем вручную запускаю exe и делаю тоже самое, только сравнивая с предыдущим отчетом. Тогда вы сможете понять, что именно у вас не грузится. Название: Re: Разная библиотека при линковке и при запуске? Отправлено: _OLEGator_ от Октябрь 09, 2013, 12:33 нужно не папку plugins подсовывать, а ее содержимое положить рядом с exe (imageformats, sqldrivers etc.).
Название: Re: Разная библиотека при линковке и при запуске? Отправлено: alexeev от Октябрь 09, 2013, 12:57 Подсунул не саму папку а все вложенные, результат тот же.
Использую Process explorer, но такое ощущение что все dll берутся из одинаковых директорий. Вообще не знаю что делать :'( Название: Re: Разная библиотека при линковке и при запуске? Отправлено: alexeev от Октябрь 09, 2013, 16:08 Все стало хорошо! Я ошибся) Всем спасибо за помощь!
|