Russian Qt Forum

Qt => Общие вопросы => Тема начата: alexeev от Октябрь 09, 2013, 11:28



Название: Разная библиотека при линковке и при запуске?
Отправлено: 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
Все стало хорошо! Я ошибся) Всем спасибо за помощь!