Russian Qt Forum
Ноябрь 25, 2024, 08:09 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Разная библиотека при линковке и при запуске?  (Прочитано 3414 раз)
alexeev
Гость
« : Октябрь 09, 2013, 11:28 »

Здравствуйте, вопрос заключается в следюущем. Написал программу, и из среды все запускается отлично. Из папки с exe-шником, тоже запускается (Пути ко всем DLL прописаны к переменной окружения, но часть окна с графикой не отображается). Сразу подумал что, какая-то библиотека как-то не так подгружается. Открыл exeшник dependency walkerом и увидел что Qtcored4.dll link check sum и real check sum не сходятся. Т.е как я понимаю, библиотека на которую ссылается exe шник не соответствует dll котрая ииспользуется при линковке. Или могут быть ещё каеи-то варианты? Подскажите пожалуйста такое в первый раз) 
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #1 : Октябрь 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.
« Последнее редактирование: Октябрь 09, 2013, 11:38 от kibsoft » Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
alexeev
Гость
« Ответ #2 : Октябрь 09, 2013, 11:40 »

Я использую qt 4. На 5 переходить пока не стали, т.к проект разрабатывался на 4. Попробывал подсунуть папку plugins рядом  с exe - не помогло.
Записан
kibsoft
Хакер
*****
Offline Offline

Сообщений: 625


Просмотр профиля WWW
« Ответ #3 : Октябрь 09, 2013, 11:56 »

Qt5/Qt4 с плагинами разницы нет. Я обычно в таких случаях делаю так:
Запускаю прогу из Qt Creator, а замет запускаю ProcessExplorer и там смотрю какие либы подгрузились.
Затем вручную запускаю exe и делаю тоже самое, только сравнивая с предыдущим отчетом.
Тогда вы сможете понять, что именно у вас не грузится.
Записан

http://kibsoft.ru - Download the Qt Media Encoding Library here

The apps that were written using QtMEL:
http://srecorder.com - Screen recording software
_OLEGator_
Гость
« Ответ #4 : Октябрь 09, 2013, 12:33 »

нужно не папку plugins подсовывать, а ее содержимое положить рядом с exe (imageformats, sqldrivers etc.).
Записан
alexeev
Гость
« Ответ #5 : Октябрь 09, 2013, 12:57 »

Подсунул не саму папку а все вложенные, результат тот же.
Использую Process explorer, но такое ощущение что все dll берутся из одинаковых директорий.
Вообще не знаю что делать  Плачущий
Записан
alexeev
Гость
« Ответ #6 : Октябрь 09, 2013, 16:08 »

Все стало хорошо! Я ошибся) Всем спасибо за помощь!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.047 секунд. Запросов: 22.