g++ -c -O2 -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT
-DQT_BOOTSTRAPPED -DQT_MOC -DQT_NO_CODECS -DQT_LITE_UNICODE -DQT_NO_LIBRARY -DQT
_NO_STL -DQT_NO_COMPRESS -DQT_NO_DATASTREAM -DQT_NO_TEXTSTREAM -DQT_NO_TEXTCODEC
-DQT_NO_UNICODETABLES -DQT_NO_THREAD -DQT_NO_REGEXP -DQT_NO_QOBJECT -DQT_NO_SYS
TEMLOCALE -DQT_NO_GEOM_VARIANT -DQT_NO_USING_NAMESPACE -DQT_NODLL -I"..\..\corel
ib\arch\generic" -I"..\..\..\include" -I"." -I"..\..\..\include\QtCore" -I"." -I
"." -I"e:\MinGW\lib\gcc\mingw32\3.4.2\include" -I"e:\MinGW\include\c++\3.4.2\bac
kward" -I"e:\MinGW\include\c++\3.4.2\mingw32" -I"e:\MinGW\include\c++\3.4.2" -I"
e:\MinGW\include" -I"..\..\..\mkspecs\win32-g++" -o release\qlocale.o ..\..\core
lib\tools\qlocale.cpp
..\..\corelib\tools\qlocale.cpp: In function `char* qdtoa(double, int, int, int*
, int*, char**, char**)':
..\..\corelib\tools\qlocale.cpp:6244: error: `_clear87' undeclared (first use th
is function)
..\..\corelib\tools\qlocale.cpp:6244: error: (Each undeclared identifier is repo
rted only once for each function it appears in.)
..\..\corelib\tools\qlocale.cpp:6245: error: `_control87' undeclared (first use
this function)
mingw32-make[2]: *** [release/qlocale.o] Error 1
mingw32-make[2]: Leaving directory `E:/Workspace/Qt/4.4.3/src/tools/moc'
mingw32-make[1]: *** [release] Error 2
mingw32-make[1]: Leaving directory `E:/Workspace/Qt/4.4.3/src/tools/moc'
mingw32-make: *** [sub-moc-sub_src_target_ordered] Error 2
从早晨到晚上,无数遍的CONFIGURE无数遍的MAKE,都是这个毛病!有哪位知道在
MINGW下编译4.4.3版有什么特殊的地方吗?
VC6\VC2003也都没有成功
_____________________________________________________
忘记说我编译的是静态版的
QMAKESPEC=WIN32-G++
QTDIR=e:\QT\4.4.3
PATH=E:\MINGW\BIN;E:\QT\4.4.3\BIN
INCLUDE=MINGW\所有INCLUDE
LIB=MINGW\LIB
CONFIGUE -DEBUG-AND-RELEASE -NOSTL -STATIC -PLATFORM WIN32-G++
今天第二遍的编译仍然是这个错误,到是VC6下编译成功,但是没加PLATFORM2003RC,没有加STLPORT
VC2008编译成功,链接错误
仍然郁闷中,VC6编译的库,程序界面非常粗糙,还是盼有人解决MINGW的编译
_____________________________________________________
经过不泄的努力,终于编译成功了,虽然废了很多周折,但是能成功就代表了努力没有白白费出,现在将出错原因以及如何避免奉上
出现上面的错误,比如_clear87,其实是因为一个头文件,就是WIN32的FLOAT.h文件,这个文件是支持浮点数的,这里不多介绍了,大家在兴趣的可以,去网上搜搜.
MINGW3.4.2自带的FLOAT.H有些老了,大家可以到SOURCEFORGE去下载最新的,当然也可以重装MINGW,比如现在最新的MINGW是3.4.5版本
在完成更换后,现在可以正常编译了,但是后面又出现了一个新问题,那就是STATIC编译的是表态版本,但是CONFIGURE生成的MAKEFILE仍然是老的MAKEFILE,这样就不可避免的出现链接时出现找不到库的情况,主要是下面的几个库:QTCORE/D,QTGUI/D,QTNEWWORK/D,QTSQL/D,QTXML/D,而老的MAKEFILE需要以上几个库的加4版本,比如QTCORE4/D4,解决的方法也很简单,一个是将所有生成的MAKEFILE中,需要QTCORE4/D4,QTGUI4/D4,QTNETWARE4/D4,QTSQL4/D4,QTXML4/D4,全部删除,不过这个方法,修改的MAKEFILE太多,另一种方法就是将以上十个文件,复制后在后面加上4.这样比较方便,不过文件很大,会占用一些地方,不过对于现在动辙百G的空间,也就无所谓了!
在这里祝那些困惑的朋友,都能成功
[ 此贴被realhate在2008-10-04 17:32重新编辑 ]