Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Valery от Сентябрь 14, 2005, 14:01



Название: программа не собирается под win
Отправлено: Valery от Сентябрь 14, 2005, 14:01
Вопрос простой - что не так?

Решил освоить Qt. Поставил mingw и qt-win-opensource-4.0.1-mingw.exe. Стоит еще cygwin.

Переменные:
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:
/cygdrive/c/WINDOWS/system32:/cygdrive/c/WINDOWS:
/cygdrive/c/WINDOWS/System32/Wbem:
/cygdrive/c/Program Files/Common Files/GTK/2.0/bin:
/cygdrive/c/python24/:/cygdrive/c/python24/dlls:
/cygdrive/c/python24/lib:/cygdrive/c/python24/include:
/usr/bin:/usr/lib:/usr:/:
/cygdrive/c/Qt/4.0.1/bin:
/cygdrive/c/Program Files/IDM Computer Solutions/UltraEdit-32:
/cygdrive/c/mingw/bin:/cygdrive/c/mingw/include:/cygdrive/c/mingw/lib

QMAKESPEC=win32-g++
QTDIR=C:\Qt\4.0.1

Создаю в Qt Designer простую форму с кнопками ок и cancel. сохраняю C:\Qt\4.0.1\proj\example.ui .
Запускаю qmake -project. Создается proj.pro. Запускаю qmake. создается makefile, makefile.debug, makefile.release.  запускаю make. Выдает:
make -f Makefile.Release
make[1]: Entering directory `/cygdrive/c/Qt/4.0.1/proj'
g++ -mthreads -Wl,-enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runt
ime-pseudo-reloc -Wl,-s -Wl,-s -Wl,-subsystem,windows -o "release\proj.exe"   -L
"C:\Qt\4.0.1\lib" -L"C:\Qt\4.0.1\lib" -lmingw32 -lqtmain -lQtCore4 -lQtGui4
/usr/lib/gcc-lib/i686-pc-cygwin/3.3.1/../../../../i686-pc-cygwin/bin/ld: cannot
find -lmingw32

collect2: ld returned 1 exit status
make[1]: *** [release\proj.exe] Error 1
make[1]: Leaving directory `/cygdrive/c/Qt/4.0.1/proj'
make: *** [release] Error 2


Название: программа не собирается под win
Отправлено: DenKor от Сентябрь 14, 2005, 20:57
Если не ошибаюсь, то твоя поставка поддерживает только minigw.
Можешь посмотреть требования к компилятору:

Please note that the Open Source Edition of Qt will support the MinGW compiler. Visual Studio support and integration is provided with the commercial Editions of Qt.

http://www.trolltech.com/developer/faqs/index.html?catid=1858&id=389


Название: программа не собирается под win
Отправлено: SLiDER от Сентябрь 14, 2005, 22:01
Хмммм.  :?  А зачем вам иcygwin и mingw. Выберите что-нибудь одно. Я бы рекомендовал mingw. И в качестве ide eclipse, она с qt ипод win и под lin уживается довольно хорошо. А городить огород из компиляторов нет ни какого смысла. :roll:


Название: Да пожалуй попробую использовать с mingw
Отправлено: Valery от Сентябрь 15, 2005, 10:38
Да пожалуй попробую с mingw


Название: программа не собирается под win
Отправлено: alek111 от Сентябрь 15, 2005, 13:19
а у меня та же фигня и с mingw (имеются в виду последние три строки сообщения о ошибке, а перед этим много предупреждений типа:
Код:
C:/Qt/4.0.1/include/QtGui/../../src/gui/kernel/qwidget.h:44: error: 'QtValidLicenseForGuiModule' does not name a type

), хотя инсталлятор qt сам его выкачивал и устанавливал, а для проверки брался файл "Hello world!" из примеров. Что делать???


Название: для alek111
Отправлено: Valery от Сентябрь 16, 2005, 11:31
У меня все собралось. Попробуй так.
1. Установи MinGw, MSYS,mingw32-make-3.80.0-3.exe. Все с сайта http://mingw.org. Пропиши в переменных окружения пути PATH =  c:\mingw;c\mingw\lib;c\mingw\bin;c\mingw\include.  Много, но для надежности не повредит. Перелогинься.
2. Установи qt-win-opensource-src-4.0.1.zip в c:\qt\4.0.1.
3. Запусти из этой папки configure.exe.  Он сконфигурит Qt, создаст qmake.exe, создаст makefile для всех исходников. Я запускал configure.exe из MSYS, т.е. запустил MSYS, а потом configure.exe.
В конце он напишет что-то такое - "configure for use with mingw32-make".
4. Для сборки всех библиотек, исходников, примеров надо из ОБЫЧНОЙ командной строки(cmd.exe) из c:\qt\4.0.1 запустить mingw32-make.
Собирается час или больше, зависит от машины.
5. Прописать переменные QTDIR=c:\qt\4.0.1, QMAKESPEC=win32-g++,PATH=c:\qt\4.0.1\bin.

Удачи.


Название: программа не собирается под win
Отправлено: DenKor от Сентябрь 16, 2005, 11:37
Проще сразу поставить qt с собранными библиотеками.
 qt-win-opensource-4.0.1-mingw.exe
У меня src версия собиралась 4 часа да еще там ошибка есть (сборка mysql плагина), после которой процесс инсталяции прерывается с ошибкой.
P-4 2800,512 RAM


Название: программа не собирается под win
Отправлено: alek111 от Сентябрь 16, 2005, 15:07
Перекомпилировать пробовал (с предварительной установкой всего что было на mingw.org, и прописыванием всех мыслимых и немыслимых путей), завершилось с какимито ошибками. Т.к. я начинающий не только в Qt но и в С++, то разбираться с этим не буду.
Бинарники версии 4.0.1, как я писал выше, не компилируют даже простейшие примеры.
Проблемма решилась установкой бинарников версии 4.0.0, теперь все работает. (правда найти ее оказалось непросто)


Название: программа не собирается под win
Отправлено: SLiDER от Сентябрь 16, 2005, 23:24
Цитата: "alek111"
Перекомпилировать пробовал (с предварительной установкой всего что было на mingw.org, и прописыванием всех мыслимых и немыслимых путей), завершилось с какимито ошибками. Т.к. я начинающий не только в Qt но и в С++, то разбираться с этим не буду.
Бинарники версии 4.0.1, как я писал выше, не компилируют даже простейшие примеры.
Проблемма решилась установкой бинарников версии 4.0.0, теперь все работает. (правда найти ее оказалось непросто)


Да пОлно вам  :D . Весь  open source у Trolltech всегда лежит в открытом доступе, например здесь -> ftp://ftp.trolltech.com/qt/source/. Да и на зеркалах все это дублируется. А с ошибками, мой вам добрый совет  :wink: , лучше разберитесь. Борьба с ними (ошибками) это бесценный опыт для любого программиста. Тем более, что это, скорее всего, ваши ошибки  8).


Название: программа не собирается под win
Отправлено: filin от Сентябрь 18, 2005, 00:20
У меня такая проблема: установил QT под VS.NET. При попытке соорудить новый проект получаю сообщение о том, что не находится файл qmake.exe. Стыжусь своего невежества, слезно прошу помочь.


Название: программа не собирается под win
Отправлено: SLiDER от Сентябрь 18, 2005, 01:39
Цитата: "filin"
У меня такая проблема: установил QT под VS.NET. При попытке соорудить новый проект получаю сообщение о том, что не находится файл qmake.exe. Стыжусь своего невежества, слезно прошу помочь.


Какая версия Qt, и как ставилась? Правильно ли установлены переменные окружения (QMAKESPEC и QTDIR)? После установки последних обязательно перелогиниться или перезагрузится.


Название: программа не собирается под win
Отправлено: filin от Сентябрь 19, 2005, 00:18
Цитата: "SLiDER"
Цитата: "filin"
У меня такая проблема: установил QT под VS.NET. При попытке соорудить новый проект получаю сообщение о том, что не находится файл qmake.exe. Стыжусь своего невежества, слезно прошу помочь.


Какая версия Qt, и как ставилась? Правильно ли установлены переменные окружения (QMAKESPEC и QTDIR)? После установки последних обязательно перелогиниться или перезагрузится.


Версия 3.3.3, ставил инсталлером, переменные установил, qmake.exe не находится.


Название: программа не собирается под win
Отправлено: SLiDER от Сентябрь 19, 2005, 00:48
Цитата: "filin"
Версия 3.3.3, ставил инсталлером, переменные установил, qmake.exe не находится.


Хмммммм.  :?  qmake-а не находит только интегратор, или его вообще в системе не видно ? Проверь через командную строку. Если в системе он виден, то попробуй заново проинсталировать интегратор (он лежит в корне  Qt). И проверь. еще, правильность установки пути к директории <qtdir>\bin в переменной окружения PATH.


Название: программа не собирается под win
Отправлено: joktar от Сентябрь 19, 2005, 04:37
Цитата: "alek111"
а у меня та же фигня и с mingw (имеются в виду последние три строки сообщения о ошибке, а перед этим много предупреждений типа:
Код:
C:/Qt/4.0.1/include/QtGui/../../src/gui/kernel/qwidget.h:44: error: 'QtValidLicenseForGuiModule' does not name a type

), хотя инсталлятор qt сам его выкачивал и устанавливал, а для проверки брался файл "Hello world!" из примеров. Что делать???

Эта проблема  решается так:
в $QTDIR/src/corelib/global/qconfig.h
найти строку #define QT_EDITION QT_EDITION_ (именно так-QT_EDITION_) и заменить на #define QT_EDITION QT_EDITION_OPENSOURCE (или QT_EDITION_DESKTOP)


Название: программа не собирается под win
Отправлено: filin от Сентябрь 26, 2005, 13:43
Цитата: "SLiDER"
Цитата: "filin"
Версия 3.3.3, ставил инсталлером, переменные установил, qmake.exe не находится.


Хмммммм.  :?  qmake-а не находит только интегратор, или его вообще в системе не видно ? Проверь через командную строку. Если в системе он виден, то попробуй заново проинсталировать интегратор (он лежит в корне  Qt). И проверь. еще, правильность установки пути к директории <qtdir>\bin в переменной окружения PATH.


Инсталлер выдает ошибку при сборке qmake.


Название: программа не собирается под win
Отправлено: filin от Сентябрь 26, 2005, 15:01
Система не находит mspb71.dll.


Название: программа не собирается под win
Отправлено: SLiDER от Сентябрь 26, 2005, 17:01
Цитата: "filin"
Система не находит mspb71.dll.

Перед инсталяцией следует проставить в переменных окружения пути к этой dll в переменной окружения PATH, а так же пути к компилятору. Ну и, естественно, к VC include-ам и lib-ам.


Название: программа не собирается под win
Отправлено: Владимир от Сентябрь 29, 2005, 10:29
Установил QT из исходников под Windows.Использовал MinGW. Всё собралось без проблем. Установил переменные QTDIR, PATH и QMAKESPEC. Но немогу откомпилировать программу-пример hello.cpp из книги. Процесс завершается ошибкой:

hello.cpp: In function 'int qMain(int, charr**)':
hello.cpp:7: error: 'class QApplication' has no member named 'setMainWidget'

Видимо, не найти библиотек. А где прописывать пути к ним?
QTDIR=c:\qt\4.0.1;PATH=c:\mingw\bin;c:\qt\4.0.1\bin;QMAKESPEC=win32-g++
И почему же собрались примеры из поставки QT?


Название: программа не собирается под win
Отправлено: SLiDER от Сентябрь 29, 2005, 12:02
Цитата: "Владимир"
Установил QT из исходников под Windows.Использовал MinGW. Всё собралось без проблем. Установил переменные QTDIR, PATH и QMAKESPEC. Но немогу откомпилировать программу-пример hello.cpp из книги. Процесс завершается ошибкой:

hello.cpp: In function 'int qMain(int, charr**)':
hello.cpp:7: error: 'class QApplication' has no member named 'setMainWidget'

Видимо, не найти библиотек. А где прописывать пути к ним?
QTDIR=c:\qt\4.0.1;PATH=c:\mingw\bin;c:\qt\4.0.1\bin;QMAKESPEC=win32-g++
И почему же собрались примеры из поставки QT?


Похоже что вы установили версию 4.0.х, а книжка (как я понимаю Бланшет ?) описывает работу с веткой 3.3.х. Возьмите пример из директории examples или из assitenta. Потом расскажете что получилось.

З.Ы. Еще в переменных окружения не плохо было бы прописать пути к библиотекам и заголовочным файлам (в LIB и INKLUDE соответственно).


Название: программа не собирается под win
Отправлено: Sergey B. от Сентябрь 29, 2005, 12:15
Цитата: "Владимир"
Установил QT из исходников под Windows.Использовал MinGW. Всё собралось без проблем. Установил переменные QTDIR, PATH и QMAKESPEC. Но немогу откомпилировать программу-пример hello.cpp из книги. Процесс завершается ошибкой:

hello.cpp: In function 'int qMain(int, charr**)':
hello.cpp:7: error: 'class QApplication' has no member named 'setMainWidget'

Видимо, не найти библиотек. А где прописывать пути к ним?
QTDIR=c:\qt\4.0.1;PATH=c:\mingw\bin;c:\qt\4.0.1\bin;QMAKESPEC=win32-g++
И почему же собрались примеры из поставки QT?



Написано что class QApplication не имеет метода называемого 'setMainWidget'... Ищем ощибку:
Запускаем Assistant закладкм search вводим setMainWidget жмём энтер...
строка Porting to Qt4
QApplication::setMainWidget() is no longer used. When all an application's windows are closed, the application will exit normally.


Название: программа не собирается под win
Отправлено: Владимир от Сентябрь 29, 2005, 14:05
Спасибо, что ответили на вопрос. Действительно, я установил QT версии 4, а примеры брал из книги описания версии 3. Жаль, что у них нет обратной совместимости. Чтобы книга не валялясь зря, попробую перейти на версию ветки 3.
Ещё раз спасибо за поддержку.


Название: программа не собирается под win
Отправлено: SLiDER от Сентябрь 29, 2005, 16:31
Цитата: "Владимир"
Жаль, что у них нет обратной совместимости. Чтобы книга не валялясь зря, попробую перейти на версию ветки 3.


1. Обратная совместимость есть, но оооооочень плохая. Как говорится не без напильника.
2. Преходить на 3.х.х пожалуй не стоит, потому как, идеология по большей части не изменилась, и все оличия легко выяснить из хелпа или примеров, а вот развитие третьей ветки остановлено, и использоватьее имеет смысл только в уже существующих проектах, но ни как не в новых. Тем более как я понял вы только еще начали осваивать сей достойный продукт, не теряйте зря времени.
3. В третьей ветке нет open source версии для windows  8)

З.Ы. Все выше сказанное является IMHO, посьба флейм не разводить.  :lol:


Название: программа не собирается под win
Отправлено: Владимир от Октябрь 06, 2005, 14:18
QT 3 для Windows http://kde-cygwin.sourceforge.net/qt3-win32/compile-mingw.php