Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Qt и кроссплатформенное программирование С/С++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.10.2012, 20:48   #1
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию Проблема с компиляцией проекта Qt.

День добрый. Только что начал изучать Qt. Попробовал скомпилировать обычный HelloWorld. Но после компиляции исполняемый файл просто не запускается. Ошибки, предупреждения и прочие гадости не выскакивают. Исходный код:
Код:
#include <QApplication>
#include <QPushButton>

int main(int argc, char** argv)
{
    QApplication app(argc, argv);
    QPushButton hello("Hello, World!");
    hello.resize(100, 30);
    hello.show();
    return app.exec();
}
Реакция компилятора:
Цитата:
mingw32-make -f Makefile.Release
mingw32-make[1]: Entering directory 'D:/CPP/Qt'
g++ -c -fno-keep-inline-dllexport -O2 -Wall -Wextra -fno-exceptions -fno-rtti -D
UNICODE -DQT_LARGEFILE_SUPPORT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THR
EAD_SUPPORT -DQT_NO_DYNAMIC_CAST -I"..\..\Qt\include\QtCore" -I"..\..\Qt\include
\QtGui" -I"..\..\Qt\include" -I"." -I"..\..\Qt\include\ActiveQt" -I"release" -I"
..\..\Qt\mkspecs\default" -o release\main.o main.cpp
g++ -Wl,-s -Wl,-subsystem,windows -o release\Qt.exe release/main.o -L".\lib" -L
"d:\Qt\lib" -lmingw32 -lqtmain -lQtGui4 -lQtCore4
mingw32-make[1]: Leaving directory 'D:/CPP/Qt'
P. S. Лучше один раз увидеть, чем сто раз услышать http://www.youtube.com/watch?v=2TjDxnMAVR8
Just Google it!
the27mart вне форума Ответить с цитированием
Старый 28.10.2012, 22:35   #2
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Цитата:
-DQT_NO_DYNAMIC_CAST
Возьми Qt с оффсайта - там всё работает
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 30.10.2012, 17:00   #3
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию

Цитата:
Сообщение от xwicked Посмотреть сообщение
Возьми Qt с оффсайта - там всё работает
Скачивал с http://qt-project.org/downloads (Qt libraries 4.8.3 for Windows (minGW 4.4, 317 MB))...Или надо скачивать SDK с http://www.developer.nokia.com/Develop/Qt/Tools ?
Just Google it!
the27mart вне форума Ответить с цитированием
Старый 30.10.2012, 17:20   #4
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Какие настройки делал? Руками где лазал? Мой ответ, что "Я скачал это же и у меня всё работает" я думаю, тебя не устроит. Так что, давай признавайся, что нестандартного ты делал?
Послесловие.
Для меня удивительно то, что видео записать было проще, чем настроить среду...
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 30.10.2012, 18:56   #5
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию

Цитата:
Сообщение от xwicked Посмотреть сообщение
Какие настройки делал? Руками где лазал? Мой ответ, что "Я скачал это же и у меня всё работает" я думаю, тебя не устроит. Так что, давай признавайся, что нестандартного ты делал?
Послесловие.
Для меня удивительно то, что видео записать было проще, чем настроить среду...
Скачал, установил, прописал путь к Qt\bin в PATH, залез в configure.exe, выбрал Open Source, согласился со всеми условиями...и пустился компилить helloworld)
Just Google it!
the27mart вне форума Ответить с цитированием
Старый 30.10.2012, 21:37   #6
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Качай SDK и не вздумай трогать configure.exe. Там всё собрано - все пути должны быть прописаны. Открыл и скомпилил свой helloworld. Можешь заново проект пересоздать в IDE QtCreator(входит в состав SDK), чтобы наверняка.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Старый 02.11.2012, 14:05   #7
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию

Хмм...Скачал SDK online installer, все установил, прописал в PATH путь ...\QtSDK\Desktop\Qt\4.8.1\mingw\bi n, снова попробовал скомпилировать, результат тот же. В Debug получается exe'шник около 300кб, а если Release - то 12кб. И оба не запускаются. Но при создании проекта в Qt creator все нормально собирается и работает. Может не хватает каких-либо DLL? Или что-то не правильно сконфигурировано?

P. S. Когда пишу сам, то для компиляции пользуюсь консолью:
qmake -project
qmake
mingw32-make
Когда делаю через Qt creator, просто нажимаю "Собрать все".
Just Google it!
the27mart вне форума Ответить с цитированием
Старый 02.11.2012, 15:23   #8
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
Восклицание

При отсутствии dll он тебе русским языком скажет, что-то типа:
Цитата:
Can't load dll QtCore / QtGui / mingw32.dll
. И когда я использую QtCreator, то прописываю там путь к gcc / gdb.
Удали всё из path и пропиши в Qt Versions путь к Qmake, в toolchain путь к gcc, там пропишешь в debugger путь к gdb и всё.
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook

Последний раз редактировалось xwicked; 02.11.2012 в 19:08.
xwicked вне форума Ответить с цитированием
Старый 02.11.2012, 16:27   #9
the27mart
Пользователь
 
Аватар для the27mart
 
Регистрация: 10.01.2012
Сообщений: 28
По умолчанию

QtCreator использовать пока не собираюсь...
Проблему решил немного другим способом.
Я собрал Qt со статическим линкованием + в configure.exe прописал флаг -release. В итоге получаю helloworld на 9.70мб), который ничего за собой не тянет. А для полного счастья можно упаковать UPX'ом(остается 3.40мб).

P. S. О всех минусах статического линкования знаю.
P. S. 2: Появилась новая проблема. На получившийся exe'шник ругается антивирус(Антивирус: AVG Free 2013, Вирус, который он нашел: Win32/Heur), но на этот же exe'шник, упакованный UPX'ом, антивирус не ругается)
P. S. 3: Спасибо большое за помощь)

*EDIT* Почитал про Win32/Heur, пишут, что это минус AVG Free, который часто устраивает ложные тревоги.
Just Google it!

Последний раз редактировалось the27mart; 02.11.2012 в 17:03.
the27mart вне форума Ответить с цитированием
Старый 02.11.2012, 17:07   #10
xwicked
Участник клуба
 
Аватар для xwicked
 
Регистрация: 21.03.2010
Сообщений: 1,508
По умолчанию

Я же сразу понял, что у тебя уникальный случай. Даже ClamAV ругается на upx + 2-3 других антивирусника
Google - лучший помощник программиста.
---
моя лаборатория | мой FaceBook
xwicked вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с компиляцией. egorzenit Visual C++ 4 09.05.2012 20:09
Проблема с компиляцией leomas Visual C++ 4 21.02.2012 11:38
Проблема с компиляцией WebSpider Помощь студентам 0 11.12.2011 03:12
Проблема с компиляцией. EmpoRio Общие вопросы Delphi 6 16.07.2010 02:35
Проблема с компиляцией MattStifler Общие вопросы C/C++ 6 21.04.2010 20:52