Top.Mail.Ru
Уведомления
Очистить все

[Решено] Qt + QML. Ошибка 0xc000007b / точка входа в процедуру не найдена...

Stfip
(@stfip)
Level 0

Привет, коллеги! Выручайте, замучался с Qt...

Есть приложение, в нем используется QML. Приложение запускается через Qt Creator, ну и работает само собой. Не могу никак запустить exeшник из другой папки, либо с другого ПК. dll копировал уже всяческими способами, какие только могут быть. Через windeployqt пробовал многократно - dll копируются, но exe все равно не запускается. 

Либо возникает ошибка с кодом 0xc000007b, либо "точка входа в процедуру не найдена", либо явно вылезает сообщение, что нет какой-то dll. Но после ее копирования в папку все возвращается к одной из этих же ошибок. 

Молю о помощи! 🙂 

Цитата
Topic starter Размещено : 14.12.2021 12:49
Тэги темы
AI
 AI
(@ai)
Level 2 Moderator

Точно версии совпадают? Если exe 32-битный, то и библиотеки должны быть 32-битные, аналогично для 64-битного. Мои пути к dll для примера:

\Qt\5.15.1\mingw81_32 - x32.

\Qt\5.15.1\mingw81_64 - x64.

ОтветитьЦитата
Размещено : 14.12.2021 16:16
Stfip
(@stfip)
Level 0

@ai да, версии совпадают. Причем кстати да - я пробовал и 64-битные версии и 32-битные, пересобирая соответственно и exe, одинаково не рабоатет...

ОтветитьЦитата
Topic starter Размещено : 14.12.2021 17:15
Aveal
(@aveal)
Top level Admin

@stfip Там помимо dll непосредственно из bin нужны еще дополнительные, из папок plugins, qml - это как минимум, и windeployqt действительно подтягивает не все.

Хардкорный способ не для слабонервных ) Но безотказный:

1. Берем папку из директории Qt полностью, к примеру - mingw81_64 (копируем в другое место, чтобы спокойно ее испортить впоследствии).

2. Внутри папки подпапка bin - в нее кладем ехешник.

3. На данном этапе exe будет запускаться без проблем.

4. Запускаем его, выделяем какую-нибудь из подпапок mingw81_64 и удаляем. Система не даст удалить использующиеся файлы.

5. Так проходим по всем папкам. В итоге остается только необходимое для запуска. НО! Пункт 4 не всегда гарант безопасности. Файл может удалиться без проблем, но ехешник запускаться перестанет. Поэтому данный процесс удаления ведем по частям. После удаления чего-либо перезапускаем ехешник. Если он уже не запускается, значит ctrl+z, возврашаем удаленные файлы, начинаем их удалять более мелкими партиями.

 

 

ОтветитьЦитата
Размещено : 14.12.2021 19:22
Stfip
(@stfip)
Level 0

@aveal огромнющее спасибо!!! Именно этим способом и сделал и получилось запустить все. Уже думал никогда не получится... Спасибо еще раз )

ОтветитьЦитата
Topic starter Размещено : 17.12.2021 12:55
Aveal
(@aveal)
Top level Admin

@stfip отлично 👍 

ОтветитьЦитата
Размещено : 17.12.2021 14:34
Поделиться: