Russian Qt Forum
Ноябрь 24, 2024, 05:42
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Вопросы новичков
>
[Решено] Как запустить приложение вне QTCreator?
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: [Решено] Как запустить приложение вне QTCreator? (Прочитано 15423 раз)
Серж
Гость
[Решено] Как запустить приложение вне 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. Что не так?
«
Последнее редактирование: Январь 09, 2012, 01:51 от Серж
»
Записан
Mikhail
Программист
Offline
Сообщений: 587
Re: Как запустить приложение вне QTCreator?
«
Ответ #1 :
Январь 05, 2012, 20:18 »
Пропиши путь на QTDIR/bin.
А библиотеки из QtCreatora не подойдут.
Собраны майкрософтовским компилятором.
Записан
Серж
Гость
Re: Как запустить приложение вне QTCreator?
«
Ответ #2 :
Январь 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)? Потому что та компиляция с этими библиотеками не работает, пишет тоже самое, что в первом сообщении этой темы
«
Последнее редактирование: Январь 05, 2012, 23:01 от Серж
»
Записан
ufna
Гость
Re: Как запустить приложение вне QTCreator?
«
Ответ #3 :
Январь 06, 2012, 00:24 »
мсье знает толк в извращениях О_о
изначальное "точка входа в процедуру не найдена" - там из другой папки рядом бери дллки и все.
Записан
iroln
Гость
Re: Как запустить приложение вне QTCreator?
«
Ответ #4 :
Январь 06, 2012, 10:29 »
Цитировать
3) В QT Creator пишем любое приложение, отлаживаем его и тд. В результате у нас имеются исходные коды и файл .pro
4) Выполнить->cmd. Идем в папку, где лежат коды и файл .pro, для этого пишем команду "cd <папка с кодами>" затем ентер
5) Затем пишем qmake, выполняем, и в папке создаются мейкфайлы
6) Команда mingw32-make и в папке готовое приложение.
Не понял, почему в QtCreator нельзя просто нажать на кнопочку Build? Зачем всё вручную делать? IDE - это как бы не только редактор.
Для работы приложения на целевом компьютере нужно вместе с ним распространять библиотеки 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?
«
Ответ #5 :
Январь 06, 2012, 11:13 »
В том-то и дело, что полученная компиляция собранная в QTCreator (release) не заработала ни с какими библиоотеками. Ни с теми, что были в <DIRQTCreator> ни с теми, что были в QT\bin. Везде пишет ошибку про точку входа
Записан
iroln
Гость
Re: Как запустить приложение вне QTCreator?
«
Ответ #6 :
Январь 06, 2012, 11:27 »
То есть в QtCreator собираете release сборку, затем из папки QTDIR\bin копируете релизные библиотеки в папку с экзешником и оно не работает?
Запустите утилиту
ProcessMonitor
из пакета Sysinternals и посмотрите какие библиотеки цепляются вашим приложением. Возможно, проблема в том, что первыми находятся не те библиотеки, которые нужно. Такое часто бывает, потому что библиотеки ищутся сначала в PATH, а только потом рядом с экзешником.
Записан
kambala
Джедай : наставник для всех
Offline
Сообщений: 4747
Re: Как запустить приложение вне QTCreator?
«
Ответ #7 :
Январь 06, 2012, 14:28 »
может не совсем по вопросу автора, но только что сам столкнулся с "не найдена точка входа", хотя путь до QTDIR/bin присутствует в PATH (в самом конце). скопировал нужные дллки к экзешнику - всё норм. потом догадался переместить путь в PATH в самое начало - и сразу всё забегало. видно какая-то другая программа из PATH тоже использует библиотеки Qt в своей папке, но другой версии.
Записан
Изучением C++ вымощена дорога в Qt.
UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Серж
Гость
Re: Как запустить приложение вне QTCreator?
«
Ответ #8 :
Январь 06, 2012, 15:53 »
Все, разобрался. Библиотеки надо копировать из C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin Все заработало. Копировать надо
QtCore4.dll
QtGui4.dll
mingwm10.dll
libgcc_s_dw2-1.dll
Записан
ufna
Гость
Re: Как запустить приложение вне QTCreator?
«
Ответ #9 :
Январь 06, 2012, 16:42 »
ну дык ответили же, что из другой папки надо брать
ты дергал msvs-собранные видимо
Записан
Mikhail
Программист
Offline
Сообщений: 587
Re: Как запустить приложение вне QTCreator?
«
Ответ #10 :
Январь 06, 2012, 19:09 »
А теперь внимательно смотрим первый ответ.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...