Russian Qt Forum

Qt => Общие вопросы => Тема начата: stanis-morozov от Марта 15, 2012, 20:36



Название: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 15, 2012, 20:36
Добрый день!
Возникла следующая проблема: при запуске программы, скомпилированной в Qt Creator под Windows 7, вылетает ошибка:
"Запуск программы невозможен, так как на компьютере отсутствует mingwm10.dll. Попробуйте переустановить программу."
Если запускать программу под ОС Linux Debian, то все работает нормально. И даже если под виндой запускать программу из самого Qt Creator (Ctrl+R), то программа нормально работает. А вот если пытаться запустить сам файл, то вылетает ошибка. С чем это может быть связано? Заранее благодарен!


Название: Re: Не запускается exe-шник
Отправлено: ruzik от Марта 15, 2012, 20:39
Скопировать dll ку которую у вас просят в каталог с этим exe файлом, для Линукса все ок, так как, если я не ошибаюсь, там все Qt библиотеки содержатся в единой папке


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 15, 2012, 20:52
А если мне нужно например перенести мою программу на другой компьютер, мне так все dll которые он просит и таскать вместе с программой?


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 15, 2012, 21:09
К тому же, когда я удовлетворил все потребности программы в библиотеках, мне вылетела новая ошибка: "Точка входа в процедуру _Z5qFreePv не найдена в библиотеке DLL QtCore4.dll".
Как это можно исправить? У меня при установке Qt Creator периодически вылетали ошибки, что он какие-то библиотеки поставить не может - я думаю с этим связано. Но я несколько раз переустанавливал - все бестолку. Может подскажете еще какие-нибудь среды для Qt4?


Название: Re: Не запускается exe-шник
Отправлено: Bepec от Марта 15, 2012, 21:26
Qt creator.

Не найдена точка входа - dll не той версии, с которой компилилась.


Название: Re: Не запускается exe-шник
Отправлено: V1KT0P от Марта 15, 2012, 21:29
К тому же, когда я удовлетворил все потребности программы в библиотеках, мне вылетела новая ошибка: "Точка входа в процедуру _Z5qFreePv не найдена в библиотеке DLL QtCore4.dll".
Как это можно исправить? У меня при установке Qt Creator периодически вылетали ошибки, что он какие-то библиотеки поставить не может - я думаю с этим связано. Но я несколько раз переустанавливал - все бестолку. Может подскажете еще какие-нибудь среды для Qt4?
Скачай cебе AVZ, в меню выбери Сервис->Диспетчер процессов. Находишь в нем запущенное приложение из Qt Creatora и смотришь откуда он берет библиотеки. Вот эти библиотеки копируешь в папку с прогой либо добавляешь путь к этим библиотекам в переменную PATH.


Название: Re: Не запускается exe-шник
Отправлено: kambala от Марта 15, 2012, 22:03
К тому же, когда я удовлетворил все потребности программы в библиотеках, мне вылетела новая ошибка: "Точка входа в процедуру _Z5qFreePv не найдена в библиотеке DLL QtCore4.dll".
Как это можно исправить? У меня при установке Qt Creator периодически вылетали ошибки, что он какие-то библиотеки поставить не может - я думаю с этим связано. Но я несколько раз переустанавливал - все бестолку. Может подскажете еще какие-нибудь среды для Qt4?
Скачай cебе AVZ, в меню выбери Сервис->Диспетчер процессов. Находишь в нем запущенное приложение из Qt Creatora и смотришь откуда он берет библиотеки. Вот эти библиотеки копируешь в папку с прогой либо добавляешь путь к этим библиотекам в переменную PATH.
к чему такие сложности, если есть dependency walker и дефолтный плагин в тотал коммандере?


Название: Re: Не запускается exe-шник
Отправлено: V1KT0P от Марта 15, 2012, 23:29
К тому же, когда я удовлетворил все потребности программы в библиотеках, мне вылетела новая ошибка: "Точка входа в процедуру _Z5qFreePv не найдена в библиотеке DLL QtCore4.dll".
Как это можно исправить? У меня при установке Qt Creator периодически вылетали ошибки, что он какие-то библиотеки поставить не может - я думаю с этим связано. Но я несколько раз переустанавливал - все бестолку. Может подскажете еще какие-нибудь среды для Qt4?
Скачай cебе AVZ, в меню выбери Сервис->Диспетчер процессов. Находишь в нем запущенное приложение из Qt Creatora и смотришь откуда он берет библиотеки. Вот эти библиотеки копируешь в папку с прогой либо добавляешь путь к этим библиотекам в переменную PATH.
к чему такие сложности, если есть dependency walker и дефолтный плагин в тотал коммандере?
dependency walker - без понятие что это. Тоталом не пользуюсь. А AVZ у меня всегда стоит ибо там много полезных функций. Например удаление всяких менюх которые в контекстное меню проводника залазят =). Ну и автозапуск им очень удобно чистить. Однажды я писал прогу у меня все работало а на другом компе не отображались картинки, хотя на библиотеки не ругался, глянул какие либы он тянет я увидел что забыл про плагины которые добавляю поддержку графических форматов.


Название: Re: Не запускается exe-шник
Отправлено: Bepec от Марта 15, 2012, 23:47
Cкажем так - ты предлагаешь кувалдой шуруп закручивать :)
Можно, никто не запрещает :)


Название: Re: Не запускается exe-шник
Отправлено: lighting от Марта 16, 2012, 09:34
Насколько я понимаю человеку надо смотреть в сторону статической сборки, если не нравится либы за собой таскать.


Название: Re: Не запускается exe-шник
Отправлено: Bepec от Марта 16, 2012, 18:40
Я обеими руками за статику. Но...
К печали своей я так ни 1 статической сборки Qt не смог сделать :D ужс


Название: Re: Не запускается exe-шник
Отправлено: V1KT0P от Марта 16, 2012, 18:42
Я обеими руками за статику. Но...
К печали своей я так ни 1 статической сборки Qt не смог сделать :D ужс
А я однажды сделал, но почему-то сигналы перестали работать =). После этого я уже не пытался.


Название: Re: Не запускается exe-шник
Отправлено: Bepec от Марта 16, 2012, 19:06
Плак плак. Собрат по несчастью!!!  ;D


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 16, 2012, 21:31
Ну вроде с библиотеками разобрался, всем спасибо! Но вот еще вопрос: в qt creator, как и во многих других средах есть режимы debug и release. И в режиме debug приложение успешно запускается и работает, и даже если напихать к нему в папку библиотек, то запускается непосредственно файл. А вот если компилировать в режиме release, то qt creator пишет: "Программа неожиданно завершилась. C:\program\release\program.exe завершился с кодом -1073741515."
Как это можно поправить?


Название: Re: Не запускается exe-шник
Отправлено: BRE от Марта 16, 2012, 21:33
Как это можно поправить?
Исправить ошибки в программе. Скорее всего связанные с указателями/управлением памятью.


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 17, 2012, 11:58
Да, но в режиме release не запускается даже этот код:
Код:
#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QWidget wgt;
    wgt.show();
    return app.exec();
}


Название: Re: Не запускается exe-шник
Отправлено: V1KT0P от Марта 17, 2012, 16:03
Да, но в режиме release не запускается даже этот код:
Код:
#include <QtGui>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QWidget wgt;
    wgt.show();
    return app.exec();
}
Выложи минимальный код который не запускается. Может ты просто что-то намудрил не так.


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 17, 2012, 17:02
Ну в общем я поэкспериментировал и обнаружил, что release версия не запускается, если в коде есть хоть что-то qt-шное. То есть например такой код под release-ом работает:

Код:
#include <iostream>

using namespace std;

int main()
{
    int a, b, c;
    a = 5;
    b = 7;
    c = a + b;
    cout << c << endl;
    return 0;
}

А уже вот такой:
Код:
#include <iostream>
#include <QVector>

using namespace std;

int main()
{
    int a, b, c;
    a = 5;
    b = 7;
    c = a + b;
    QVector <int> v;
    cout << c << endl;
    return 0;
}

Пишет, что "Программа неожиданно завершилась с кодом -1073741515"


Название: Re: Не запускается exe-шник
Отправлено: V1KT0P от Марта 17, 2012, 17:04
Ну в общем я поэкспериментировал и обнаружил, что release версия не запускается, если в коде есть хоть что-то qt-шное. То есть например такой код под release-ом работает:
Ты точно с библиотеками ничего не намудрил?


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 17, 2012, 17:12
Ты точно с библиотеками ничего не намудрил?

Ну а что там можно было намудрить? Я просто скачал Qt Creator, установил его. Ни с какими настройками не ковырялся. К тому же под debug-ом то все отлично работает.


Название: Re: Не запускается exe-шник
Отправлено: Mikhail от Марта 17, 2012, 19:29
А Qt ты установил?
И какой debug или pelease?

Для сведения Qt creator это только IDE и сама она ничего не делает. Требуется Qt и компилятор


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 17, 2012, 20:32
А Qt ты установил?
И какой debug или pelease?

Для сведения Qt creator это только IDE и сама она ничего не делает. Требуется Qt и компилятор

Я ставил Qt SDK.
http://qt.nokia.com/downloads


Название: Re: Не запускается exe-шник
Отправлено: V1KT0P от Марта 17, 2012, 20:43
Пишет, что "Программа неожиданно завершилась с кодом -1073741515"
Смотри в Qt SDK есть две версии Qt библиотек: собранные GCC и MSVS. Может ты неправильные библиотеки положил и теперь он эти неправильные библиотеки пытается использовать?


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 17, 2012, 21:50
Смотри в Qt SDK есть две версии Qt библиотек: собранные GCC и MSVS. Может ты неправильные библиотеки положил и теперь он эти неправильные библиотеки пытается использовать?

Да я вроде руками библиотеки не ворошил...да и приложение компилируется без ошибок, просто под debug-ом оно работает, а под release-ом - нет.
А вообще, где можно посмотреть, как библиотеки лежат, и как должны лежать?


Название: Re: Не запускается exe-шник
Отправлено: V1KT0P от Марта 17, 2012, 22:02
Смотри в Qt SDK есть две версии Qt библиотек: собранные GCC и MSVS. Может ты неправильные библиотеки положил и теперь он эти неправильные библиотеки пытается использовать?

Да я вроде руками библиотеки не ворошил...да и приложение компилируется без ошибок, просто под debug-ом оно работает, а под release-ом - нет.
А вообще, где можно посмотреть, как библиотеки лежат, и как должны лежать?
То-есть библиотеки ты никуда не копировал и в PATH пути не прописывал, правильно?


Название: Re: Не запускается exe-шник
Отправлено: stanis-morozov от Марта 18, 2012, 15:36
В PATH я путей не прописывал, а библиотеки некоторые копировал только в папки с приложениями. Но приложения не запускаются никакие - ни те к которым копировал, ни те, которые не трогал.


Название: Re: Не запускается exe-шник
Отправлено: Blackwanderer от Марта 19, 2012, 04:58
Откройте программу в DependencyWalker (http://www.dependencywalker.com/) и посмотрите, где именно она находит Qt библиотеки. Некоторые сторонние программы устанавливаются вместе с Qt и прописываются в PATH (как минимум, MatLab и PyQt). В итоге, может подключаться Qt именно от этих программ, а там, как правило, старая версия.


Название: Re: Не запускается exe-шник
Отправлено: lighting от Марта 19, 2012, 13:56
а какие Qt-шные либы ты использовал? QtCore.dll или QtCoreD.dll? Они разные для релиза и для дебага.