mingw-cross-env-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Mingw-cross-env-list] Qt 4.7 (help wanted)


From: Mark Brand
Subject: Re: [Mingw-cross-env-list] Qt 4.7 (help wanted)
Date: Tue, 01 Jun 2010 01:00:44 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.4) Gecko/20100527 SUSE/3.1rc1-3.1 Thunderbird/3.1



QMAKE_CFLAGS = -pipe -isystem /usr/i686-pc-mingw32/include

I would like to avoid having to specify the full path this way. Does
anyone know of a way to put the intended directory in the include path
without resorting to this?
Since "/usr/i686-pc-mingw32/include" is already in our GCC's
system include path, I don't see a need for that option at all.

Without having tested, I'm pretty sure you can simplify the line to:

     QMAKE_CFLAGS = -pipe

That's what I thought too, but then this happens when building Qt:

make[2]: Entering directory `/home/brand/projects/mingw-cross-env.dev/qt47/tmp-qt/qt-everywhere-opensource-src-4.7.0-beta1/src/corelib' i686-pc-mingw32-g++ -c -include .pch/release-static/qt_pch.h -pipe -O2 -Wall -frtti -fexceptions -mthreads -DQT_THREAD_SUPPORT -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_BUILD_CORE_LIB -DQT_NO_USING_NAMESPACE -DQT_ASCII_CAST_WARNINGS -DQT3_SUPPORT -DQT_MOC_COMPAT -DQT_USE_FAST_OPERATOR_PLUS -DQT_USE_FAST_CONCATENATION -D_USE_MATH_DEFINES -DHB_EXPORT=Q_CORE_EXPORT -DQT_HAVE_MMX -DQT_HAVE_3DNOW -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_NO_DEBUG -I'../../include' -I'../../include/QtCore' -I'.rcc/release-static' -I'tmp' -I'global' -I'../3rdparty/harfbuzz/src' -I'../3rdparty/md5' -I'../3rdparty/md4' -I'../../include/ActiveQt' -I'.moc/release-static' -I'../../mkspecs/win32-g++-cross' -o .obj/release-static/qlocale.o tools/qlocale.cpp tools/qlocale.cpp: In function 'char* qdtoa(double, int, int, int*, int*, char**, char**)': tools/qlocale.cpp:6589:14: error: '_clear87' was not declared in this scope tools/qlocale.cpp:6590:43: error: '_control87' was not declared in this scope
make[2]: *** [.obj/release-static/qlocale.o] Error 1

I'm not sure what's happening here, but it looks like the items in question are defined here:

usr/i686-pc-mingw32/include/float.h:108:#define _clear87 _clearfp usr/i686-pc-mingw32/include/float.h:103:_CRTIMP unsigned int __cdecl __MINGW_NOTHROW _control87 (unsigned int unNew, unsigned int unMask);

Is the "#include <float.h>" in tools/qlocale.cpp picking up a different float.h?


This float.h seems to be in the way:

usr/lib/gcc/i686-pc-mingw32/4.5.0/include/float.h




Things are becoming clearer. The file usr/i686-pc-mingw32/include/float.h has an #include_next that is intended to include the next float.h in the path which is probably supposed to be usr/lib/gcc/i686-pc-mingw32/4.5.0/include/float.h. The trouble is that the include path directories are in the wrong order for this, as displayed below. The "-isystem" in QMAKE_CFLAGS "fixes" this.

I'll keep looking..


 i686-pc-mingw32-cpp -v < /dev/null
Using built-in specs.
COLLECT_GCC=i686-pc-mingw32-cpp
COLLECT_LTO_WRAPPER=/home/brand/projects/mingw-cross-env.dev/qt47/usr/libexec/gcc/i686-pc-mingw32/4.5.0/lto-wrapper
Target: i686-pc-mingw32
Configured with: /home/brand/projects/mingw-cross-env.dev/qt47/tmp-gcc/gcc-4.5.0/configure --target=i686-pc-mingw32 --prefix=/home/brand/projects/mingw-cross-env.dev/qt47/usr --enable-languages=c,c++,objc,fortran --enable-version-specific-runtime-libs --with-gcc --with-gnu-ld --with-gnu-as --disable-nls --disable-shared --without-x --disable-win32-registry --enable-sjlj-exceptions --enable-threads=win32 --disable-libgomp --disable-libmudflap
Thread model: win32
gcc version 4.5.0 (GCC)
COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=generic' '-march=pentiumpro'
 
/home/brand/projects/mingw-cross-env.dev/qt47/usr/libexec/gcc/i686-pc-mingw32/4.5.0/cc1
 -E -quiet -v - -mtune=generic -march=pentiumpro
ignoring nonexistent directory "/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/../../../../i686-pc-mingw32/sys-include"
#include "..." search starts here:
#include <...> search starts here:
 
/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/include
 
/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/include-fixed
 
/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/../../../../i686-pc-mingw32/include
End of search list.
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
COMPILER_PATH=/home/brand/projects/mingw-cross-env.dev/qt47/usr/libexec/gcc/i686-pc-mingw32/4.5.0/:/home/brand/projects/mingw-cross-env.dev/qt47/usr/libexec/gcc/i686-pc-mingw32/4.5.0/:/home/brand/projects/mingw-cross-env.dev/qt47/usr/libexec/gcc/i686-pc-mingw32/:/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/:/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/:/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/../../../../i686-pc-mingw32/bin/
LIBRARY_PATH=/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/:/home/brand/projects/mingw-cross-env.dev/qt47/usr/lib/gcc/i686-pc-mingw32/4.5.0/../../../../i686-pc-mingw32/lib/
COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=generic' '-march=pentiumpro'



reply via email to

[Prev in Thread] Current Thread [Next in Thread]