Russian Qt Forum
Ноябрь 23, 2024, 23:00 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: MinGW-3.4.2.exe + qt-win-opensource-4.3.4-mingw.exe  (Прочитано 9887 раз)
neTpo
Гость
« : Март 19, 2008, 01:11 »

Проблема с установкой.

установил следующие файлы:
MinGW-3.4.2.exe
qt-win-opensource-4.3.4-mingw.exe

Запускаю ярлык:
Qt 4.3.4 (Build Debug Libraries)
командная сторка: %COMSPEC% /k "D:\Qt\bin\qtvars.bat compile_debug"
содержимое батника "qtvars.bat":

Цитировать
set QTDIR=D:\Qt
set PATH=D:\Qt\bin
set PATH=%PATH%;C:\MinGW\bin
set PATH=%PATH%;%SystemRoot%\System32
set QMAKESPEC=win32-g++

if not "%1"=="compile_debug" goto END
cd %QTDIR%
echo This will configure and compile qt in debug.
echo The release libraries will not be recompiled.
pause
configure -plugin-sql-sqlite -plugin-sql-odbc -qt-libpng -qt-libjpeg
cd %QTDIR%\src
qmake
mingw32-make debug
:END

компиляция прерывается такими строками:

Цитировать
In file included from ..\..\3rdparty\zlib\crc32.c:29:
..\..\3rdparty\zlib\/zutil.h:21:24: stddef.h: No such file or directory
..\..\3rdparty\zlib\/zutil.h:23:22: string.h: No such file or directory
..\..\3rdparty\zlib\/zutil.h:24:22: stdlib.h: No such file or directory
..\..\3rdparty\zlib\/zutil.h:38:23: errno.h: No such file or directory
..\..\3rdparty\zlib\crc32.c:36:24: limits.h: No such file or directory
mingw32-make[2]: *** [tmp/obj/release_shared/crc32.o] Error 1
mingw32-make[2]: Leaving directory `D:/Qt/src/tools/rcc'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `D:/Qt/src/tools/rcc'
mingw32-make: *** [debug-D__Qt_src_tools_rcc] Error 2
Записан
pastor
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 2901



Просмотр профиля WWW
« Ответ #1 : Март 19, 2008, 03:39 »

имх, нужно прописать пути к инклудам MinGW
Записан

Integrated Computer Solutions, Inc. (ICS)
http://www.ics.com/
Пантер
Administrator
Джедай : наставник для всех
*****
Offline Offline

Сообщений: 5876


Жаждущий знаний


Просмотр профиля WWW
« Ответ #2 : Март 19, 2008, 12:24 »

И воспользоваться поиском по форуму. Подмигивающий
Записан

1. Qt - Qt Development Frameworks; QT - QuickTime
2. Не используйте в исходниках символы кириллицы!!!
3. Пользуйтесь тегом code при оформлении сообщений.
neTpo
Гость
« Ответ #3 : Март 19, 2008, 21:15 »

прописал инклуды
Цитировать
set QTDIR=D:\Qt
set PATH=D:\Qt\bin;d:\Qt\src\corelib
set PATH=%PATH%;C:\MinGW\bin;c:\MinGW\mingw32\bin;c:\MinGW\libexec\gcc\mingw32\3.4.2
set PATH=%PATH%;%SystemRoot%\System32
set INCLUDE=%INCLUDE%;C:\MinGW\lib\gcc\mingw32\3.4.2\include;c:\MinGW\include;d:\Qt\include
set INCLUDEPATH=%INCLUDE%
set LIB=%LIB%;c:\MinGW\lib;d:\Qt\lib
set QMAKESPEC=win32-g++

теперь останвливается на такой ошибке:

Цитировать
..\..\corelib\tools\qlocale.cpp: In function `char* qdtoa(double, int, int, int*
, int*, char**, char**)':
..\..\corelib\tools\qlocale.cpp:5925: error: `_clear87' undeclared (first use th
is function)
..\..\corelib\tools\qlocale.cpp:5925: error: (Each undeclared identifier is repo
rted only once for each function it appears in.)
..\..\corelib\tools\qlocale.cpp:5926: error: `_control87' undeclared (first use
this function)
mingw32-make[2]: *** [release/qlocale.o] Error 1
mingw32-make[2]: Leaving directory `D:/Qt/src/tools/moc'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `D:/Qt/src/tools/moc'
mingw32-make: *** [debug-D__Qt_src_tools_moc] Error 2
Для продолжения нажмите любую клавишу . . .
Записан
niXman
Гость
« Ответ #4 : Апрель 19, 2010, 12:02 »

прописал инклуды
Цитировать
set QTDIR=D:\Qt
set PATH=D:\Qt\bin;d:\Qt\src\corelib
set PATH=%PATH%;C:\MinGW\bin;c:\MinGW\mingw32\bin;c:\MinGW\libexec\gcc\mingw32\3.4.2
set PATH=%PATH%;%SystemRoot%\System32
set INCLUDE=%INCLUDE%;C:\MinGW\lib\gcc\mingw32\3.4.2\include;c:\MinGW\include;d:\Qt\include
set INCLUDEPATH=%INCLUDE%
set LIB=%LIB%;c:\MinGW\lib;d:\Qt\lib
set QMAKESPEC=win32-g++

теперь останвливается на такой ошибке:

Цитировать
..\..\corelib\tools\qlocale.cpp: In function `char* qdtoa(double, int, int, int*
, int*, char**, char**)':
..\..\corelib\tools\qlocale.cpp:5925: error: `_clear87' undeclared (first use th
is function)
..\..\corelib\tools\qlocale.cpp:5925: error: (Each undeclared identifier is repo
rted only once for each function it appears in.)
..\..\corelib\tools\qlocale.cpp:5926: error: `_control87' undeclared (first use
this function)
mingw32-make[2]: *** [release/qlocale.o] Error 1
mingw32-make[2]: Leaving directory `D:/Qt/src/tools/moc'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `D:/Qt/src/tools/moc'
mingw32-make: *** [debug-D__Qt_src_tools_moc] Error 2
Для продолжения нажмите любую клавишу . . .

подниму тему.

собрал mingw-gcc-4.5.0.
получаю аналогичную ошибку.
варианты?
установить прежнюю версию компилятора - не предлагать Улыбающийся
Записан
niXman
Гость
« Ответ #5 : Апрель 19, 2010, 12:12 »

эксперимента ради, скопировал декларации этих функций из float.h
добавил к опциям линкера -lmsvcrt т.к. в ней нашел их.

результат тот же.
все это при сборке qmake. в самом начале.
Записан
kuzulis
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2812


Просмотр профиля
« Ответ #6 : Апрель 19, 2010, 12:25 »

Цитировать
собрал mingw-gcc-4.5.0.
а как собирал то?

ЗЫ: по-моему собирать компилятор нужно в несколько шагов/стадий .. геморно в общем... мож чо не так получилось?
Записан

ArchLinux x86_64 / Win10 64 bit
niXman
Гость
« Ответ #7 : Апрель 19, 2010, 13:15 »

в общем, в файле "qt/src/corelib/tools/qlocale.cpp" в строке 6523, есть такая функция:

Код
C++ (Qt)
Q_CORE_EXPORT char *qdtoa ( double d, int mode, int ndigits, int *decpt, int *sign, char **rve, char **resultp)
{}
 
в ней используются функции "_control87(), _clear87()". как я понял, они управляют поведением сопроцессора при ошибках.
ради эксперимента, я вытворил следующее:
Код
C
unsigned int _control87 (unsigned int unNew, unsigned int unMask) { return 0; };
unsigned int _clearfp (void) { return 0; };
#define _clear87 _clearfp
 
дабы скомпилить и слинковать qmake. получилось.

далее...
запустил сборку.
при сборке "corelib" получил следующее:
Цитировать
mingw32-make[2]: Entering directory `C:/Qt/qt/src/corelib'
C:/Qt/qt/bin/moc.exe -DQT_SHARED -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SU
PPORT -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_MAKEDLL -DQT_ASCII_CAST_W
ARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -D_USE_MATH_DEFINES -DHB_EXPORT=Q_CORE_EXP
ORT -DQT_DLL -I'../../include' -I'../../include/QtCore' -I'tmp/rcc/debug_shared'
 -I'tmp' -I'global' -I'../3rdparty/zlib' -I'../3rdparty/harfbuzz/src' -I'../3rdp
arty/md5' -I'../3rdparty/md4' -I'../../include/ActiveQt' -I'tmp/moc/debug_shared
' -I'../../mkspecs/win32-g++' -D__GNUC__ -DWIN32 animation/qabstractanimation.h
-o tmp/moc/debug_shared/moc_qabstractanimation.cpp
"test" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Ошибка в синтаксисе команды.

какие мысли?

не понятно, кто такой "test" Улыбающийся
« Последнее редактирование: Апрель 19, 2010, 14:59 от niXman » Записан
niXman
Гость
« Ответ #8 : Апрель 19, 2010, 13:19 »

Цитировать
а как собирал то?
руками Улыбающийся

Цитировать
по-моему собирать компилятор нужно в несколько шагов/стадий
угу. долго все это происходит. одно радует, что msys-make поддерживает распаралеливание сборки. в отличии от mingw32-make Улыбающийся

Цитировать
геморно в общем
ага. три дня труда. но доволен как слон Улыбающийся

Цитировать
мож чо не так получилось?
возможно.
но все мои проекты, в том числе и написанные преимущественно с использованием boost и нововведений c++0x(это основной аргумент из-за которого пришлось собирать mingw), компилятся и работают.
вот только линковать Qt-SDK не хочет. другой компилятор. что-то там не совместимо на уровне библиотек.
« Последнее редактирование: Апрель 19, 2010, 14:58 от niXman » Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.118 секунд. Запросов: 23.