[Top][All Lists]
[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'