Название: [Решено] Как запустить приложение вне QTCreator? Отправлено: Серж от Январь 05, 2012, 17:49 Ситуация такова. Имеется Win 7, скачанный и установленный QT Creator. Написано простенькое приложение, которое компилируется. Выбираю параметры сборки release, запускаю, иду в папку, и вижу там свой .exe а так же файлы .о (объектые, как я понял) и один файл .cpp. Меня интересует, как запустить .exe? Требовал библиотеки, кинул рядом с ним
QtCore4.dll QtGui4.dll mingwm10.dll libgcc_s_dw2-1.dll но после этого пишет что точка входа в процедуру нее найдена. Библиотеки брал из директории, где установлен QT Creator. Что не так? Название: Re: Как запустить приложение вне QTCreator? Отправлено: Mikhail от Январь 05, 2012, 20:18 Пропиши путь на QTDIR/bin.
А библиотеки из QtCreatora не подойдут. Собраны майкрософтовским компилятором. Название: Re: Как запустить приложение вне QTCreator? Отправлено: Серж от Январь 05, 2012, 22:56 После долгих мучений дошел до следующего этапа:
1) Скачал отсюда чисто библиотеку qt http://qt.nokia.com/downloads 2) Установил minGW, дописал в переменную PATH строку C:\MinGW\bin;C:\Qt\;C:\Qt\bin\ 3) В QT Creator пишем любое приложение, отлаживаем его и тд. В результате у нас имеются исходные коды и файл .pro 4) Выполнить->cmd. Идем в папку, где лежат коды и файл .pro, для этого пишем команду "cd <папка с кодами>" затем ентер 5) Затем пишем qmake, выполняем, и в папке создаются мейкфайлы 6) Команда mingw32-make и в папке готовое приложение. Для работы с приложением на другом компе потребуется скопировать из C:\Qt\номер версии библиотеки\bin (из того, что мы устанавлливали на первом шаге) библиотеки mingwm10.dll QtCore4.dll QtGui4.dll и закинуть в одну папку с приложением. Либо, прописывать в переменную PATH строку C:\MinGW\bin;C:\Qt\;C:\Qt\bin\ либо кидать все это дело в system32. Но кто мне подскажет, как сделать так, чтобы можно было забирать компиляцию прямо из QT Creator (из папки release)? Потому что та компиляция с этими библиотеками не работает, пишет тоже самое, что в первом сообщении этой темы Название: Re: Как запустить приложение вне QTCreator? Отправлено: ufna от Январь 06, 2012, 00:24 мсье знает толк в извращениях О_о
изначальное "точка входа в процедуру не найдена" - там из другой папки рядом бери дллки и все. Название: Re: Как запустить приложение вне QTCreator? Отправлено: iroln от Январь 06, 2012, 10:29 Цитировать 3) В QT Creator пишем любое приложение, отлаживаем его и тд. В результате у нас имеются исходные коды и файл .pro Не понял, почему в QtCreator нельзя просто нажать на кнопочку Build? Зачем всё вручную делать? IDE - это как бы не только редактор. :)4) Выполнить->cmd. Идем в папку, где лежат коды и файл .pro, для этого пишем команду "cd <папка с кодами>" затем ентер 5) Затем пишем qmake, выполняем, и в папке создаются мейкфайлы 6) Команда mingw32-make и в папке готовое приложение. Для работы приложения на целевом компьютере нужно вместе с ним распространять библиотеки Qt и mingw, с которыми оно было собрано. В чём проблема то? После сборки можете скопировать библиотеки из QTDIR/bin в папку с релизом вашего приложения. Если собираете с mingw, то ещё нужны библиотеки: mingwm10.dll libgcc_s_dw2-1.dll Итого для самого простого Qt приложения нужно вместе с экзешником распространять библиотеки: QtGui4.dll QtCore4.dll mingwm10.dll libgcc_s_dw2-1.dll Название: Re: Как запустить приложение вне QTCreator? Отправлено: Серж от Январь 06, 2012, 11:13 В том-то и дело, что полученная компиляция собранная в QTCreator (release) не заработала ни с какими библиоотеками. Ни с теми, что были в <DIRQTCreator> ни с теми, что были в QT\bin. Везде пишет ошибку про точку входа
Название: Re: Как запустить приложение вне QTCreator? Отправлено: iroln от Январь 06, 2012, 11:27 То есть в QtCreator собираете release сборку, затем из папки QTDIR\bin копируете релизные библиотеки в папку с экзешником и оно не работает?
Запустите утилиту ProcessMonitor (http://technet.microsoft.com/ru-ru/sysinternals/bb896645) из пакета Sysinternals и посмотрите какие библиотеки цепляются вашим приложением. Возможно, проблема в том, что первыми находятся не те библиотеки, которые нужно. Такое часто бывает, потому что библиотеки ищутся сначала в PATH, а только потом рядом с экзешником. Название: Re: Как запустить приложение вне QTCreator? Отправлено: kambala от Январь 06, 2012, 14:28 может не совсем по вопросу автора, но только что сам столкнулся с "не найдена точка входа", хотя путь до QTDIR/bin присутствует в PATH (в самом конце). скопировал нужные дллки к экзешнику - всё норм. потом догадался переместить путь в PATH в самое начало - и сразу всё забегало. видно какая-то другая программа из PATH тоже использует библиотеки Qt в своей папке, но другой версии.
Название: Re: Как запустить приложение вне QTCreator? Отправлено: Серж от Январь 06, 2012, 15:53 Все, разобрался. Библиотеки надо копировать из C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin Все заработало. Копировать надо
QtCore4.dll QtGui4.dll mingwm10.dll libgcc_s_dw2-1.dll Название: Re: Как запустить приложение вне QTCreator? Отправлено: ufna от Январь 06, 2012, 16:42 ну дык ответили же, что из другой папки надо брать ;D ты дергал msvs-собранные видимо
Название: Re: Как запустить приложение вне QTCreator? Отправлено: Mikhail от Январь 06, 2012, 19:09 А теперь внимательно смотрим первый ответ.
|