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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Qt 5.0.1 (официальная сборка): проекты падают еще до запуска/отладки  (Прочитано 9725 раз)
schmidt
Гость
« : Март 01, 2013, 06:36 »

Здравствуйте, уважаемые,

Решил перетащить проект с Qt 4.8 на 5 (ради QtMultimedia, ибо фонон так и не одолел Веселый) Скачал официальную сборку Qt 5.0.1 for Windows 32-bit (MinGW 4.7) отсюда. После сборки, проект при попытке запуска умирает еще до того как получить управление, а креатор сообщает:

Цитировать
During startup program exited with code 0xc0000139

что в толковании CertUtil.exe от Microsoft означает

Цитировать
0xc0000139 (-1073741511) -- 3221225785 (-1073741511)
Текст сообщения об ошибке: {Точка входа не найдена}

Точка входа в процедуру %hs не найдена в библиотеке DLL %hs.

Посоветуйте что-нибудь на тему "как раскрутить Windows на подробное описание ошибки"? Строит глазки Ну хотя бы глянуть дамп регистров и стек процесса, на худой конец  Смеющийся
Записан
Bepec
Гость
« Ответ #1 : Март 01, 2013, 06:52 »

Точка входа не найдена в библиотеке. Библиотеки у тебя не те, версии их не те, или же вообще всё не то.
Записан
schmidt
Гость
« Ответ #2 : Март 01, 2013, 07:21 »

Очевидно, что-то одно, либо всё сразу Веселый Не ожидал такой подставы от официальной сборки, счас попробую пересобрать ее из исходников сам, мож заработает.
Записан
RedDog
Гость
« Ответ #3 : Март 01, 2013, 08:45 »

Очевидно, что-то одно, либо всё сразу Веселый Не ожидал такой подставы от официальной сборки, счас попробую пересобрать ее из исходников сам, мож заработает.
Интересно, как ее можно собрать, если в ней конфигурационного бинарника нету?
Записан
Bepec
Гость
« Ответ #4 : Март 01, 2013, 09:09 »

конфигурационный бинарник? о чём вы ? Улыбающийся

PS сборки готовые, по крайней мере раньше, не поставлялись с исходниками.

PPS к счастью пользуюсь доброй 4.7.2, но к сожалению ничего не могу сказать по новой сборке.
Записан
schmidt
Гость
« Ответ #5 : Март 01, 2013, 09:44 »

При установке QtSDK 5.0.1 доступна опция "Включить исходники в установку". На 4.7 - 4.8 проект прекрасно работает, если бы не проблемы с phonon, и не думал бы скачивать Qt5 Улыбающийся
Записан
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #6 : Март 01, 2013, 12:09 »

Возможно, у Вас где-то в папках, перечисленных в PATH лежат DLL от другой версии Qt, и тестовый пример от Qt 5.0.1 загружает именно их, а не DLL из состава Qt 5.0.1.
Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #7 : Март 01, 2013, 12:48 »

Возможно, у Вас где-то в папках, перечисленных в PATH лежат DLL от другой версии Qt, и тестовый пример от Qt 5.0.1 загружает именно их, а не DLL из состава Qt 5.0.1.
именно так.
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
RedDog
Гость
« Ответ #8 : Март 01, 2013, 14:03 »

конфигурационный бинарник? о чём вы ? Улыбающийся

PS сборки готовые, по крайней мере раньше, не поставлялись с исходниками.

PPS к счастью пользуюсь доброй 4.7.2, но к сожалению ничего не могу сказать по новой сборке.
Ну раньше был (4.7.4) configure.exe который надо было запустить с нужными параметрами, и собрать что нужно, а что не нужно не собирать. А щас где он? Как мне к 5-й версии прицепить к примеру OpenSSL?
Записан
schmidt
Гость
« Ответ #9 : Март 01, 2013, 14:41 »

Возможно, у Вас где-то в папках, перечисленных в PATH лежат DLL от другой версии Qt, и тестовый пример от Qt 5.0.1 загружает именно их, а не DLL из состава Qt 5.0.1.

До последнего момента на это надеялся Улыбающийся Удалил все версии Qt, поставил заново в единственном экземпляре - и всё равно такая же беда Улыбающийся Сами DLL из сборки в свойствах отображают версию 5.0.1.0.

Ну раньше был (4.7.4) configure.exe который надо было запустить с нужными параметрами. А щас где он?
В каталоге \5.0.1\Src\qtbase лежит Улыбающийся
« Последнее редактирование: Март 01, 2013, 15:01 от schmidt » Записан
sergek
Гипер активный житель
*****
Offline Offline

Сообщений: 872


Мы должны приносить пользу людям.


Просмотр профиля
« Ответ #10 : Март 01, 2013, 19:44 »

До последнего момента на это надеялся Улыбающийся Удалил все версии Qt, поставил заново в единственном экземпляре - и всё равно такая же беда Улыбающийся Сами DLL из сборки в свойствах отображают версию 5.0.1.0.
Запустите в терминале (галочка в проекте, в настройке запуска). Возможно, там все увидите - скорее всего "не найдена Qt...4.dll).
Записан

Qt 5.13.0 Qt Creator 5.0.1
Win10, Ubuntu 20.04
xokc
Птица говорун
*****
Offline Offline

Сообщений: 976



Просмотр профиля
« Ответ #11 : Март 04, 2013, 08:59 »

Возможно, у Вас где-то в папках, перечисленных в PATH лежат DLL от другой версии Qt, и тестовый пример от Qt 5.0.1 загружает именно их, а не DLL из состава Qt 5.0.1.
Удалил все версии Qt, поставил заново в единственном экземпляре - и всё равно такая же беда Улыбающийся
DLL от Qt могут лежать в самых разных местах, например, в System32, поэтому удаление Qt не освобождает от необходимости просмотреть все папки из path на предмет наличия Qt DLL.
Записан
Bepec
Гость
« Ответ #12 : Март 04, 2013, 09:13 »

Посоветую everything. Под windows практически мгновенный поиск по всем дискам. Сразу всё видно, где дллки, что они там делают Веселый
Записан
schmidt
Гость
« Ответ #13 : Март 06, 2013, 08:37 »

Запустил в терминале, оказалось, проблема выползает в DLL'ке от MinGW - libstdc++-6.dll. Просто у меня осталась установлена отдельная версия MinGW, а QtCreator "автоопределил" этот MinGW себе в пользование, вместо того MinGW 4.7, что шел в дистрибутиве. Со всеми вытекающими последствиями Улыбающийся

Тогда интересен другой вопрос - как связаны между собой DLL компилятора и самой Qt, которым она собрана? И отчего я могу использовать конкретно только эту версию компилятора? Вопрос не праздный, мне очень интересно отчего так происходит Улыбающийся Видимо, потому что сами библиотеки Qt цепочкой вызовов уходят к "низкоуровневым" DLL той самой версии компилятора?
Записан
Bepec
Гость
« Ответ #14 : Март 06, 2013, 08:53 »

Программа, собранная с одной версией компилятора, не будет работать с другой версией компилятора. Насколько я понимаю, там правила вызова функций различаются от версии к версии. В результате получаются отсутствующие или же бродячие указатели на функции.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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