PDA

View Full Version : cross-compile the qtopia core 4



screen
30th May 2006, 11:40
when compile the qtopia core 4,the argument of -embedded and -xplatform isn't workd,it can not configure the qt correctly,so i only modify the makefile ,but there are some errors,such as ld and so on.please everyone tell me why and post your experiences about this,i am very pleasured to communicate with you ,thank you

sliawati
28th July 2006, 08:46
have you try to put qtopia-core-opensource-src-4.1.4 at /tmp
then tar xvfz qtopia-core-opensource-src-4.1.4
because when my friend try to extract not at /tmp directory he got error.

i am success to configure for embedded arm
# ./configure -embedded arm -little-endian

but i am still stuck at gmake step
gmake[3]: Entering directory `/tmp/qtopia-core-opensource-src-4.1.4/src/corelib'
arm-linux-g++ -c -pipe -fno-exceptions -g -Wall -W -D_REENTRANT -fPIC -DQT_SHARED -DQT_BUILD_CORE_LIB -DQT_NO_CAST_TO_ASCII -DQT3_SUPPORT -DQT_MOC_COMPAT -I../../mkspecs/qws/linux-arm-g++ -I. -I../../include -I../../include/QtCore -Iglobal -I../3rdparty/zlib -I.moc/debug-shared-emb-arm -I. -o .obj/debug-shared-emb-arm/qglobal.o global/qglobal.cpp
../../include/QtCore/../../src/corelib/tools/qchar.h: In member function 'ushort& QChar::unicode()':
../../include/QtCore/../../src/corelib/tools/qchar.h:224: error: cannot bind packed field '((QChar*)this)->QChar::ucs' to 'ushort&'
gmake[3]: *** [.obj/debug-shared-emb-arm/qglobal.o] Error 1
gmake[3]: Leaving directory `/tmp/qtopia-core-opensource-src-4.1.4/src/corelib'

sliawati
11th August 2006, 10:40
all,

i got repy from qt-bugs@trolltech.com concerning this bug.
thanks to Jason.
hope this help.

best regards,
sliawati

--forwarded message--
This was a known issue with gcc 4.
I have attached the patch that fix this problem.
Regards,
Jason Barron, Support Engineer
Trolltech ASA, Oslo
--end of forwarded--

--the patch.diff file--
--- src/corelib/tools/qchar.h 2006-08-10 15:42:44 -0000
+++ src/corelib/tools/qchar.h 2006-08-10 15:42:44 -0000

@@ -211,7 +211,7 @@
inline const char toLatin1() const;
inline const ushort unicode() const { return ucs; }
#ifdef Q_NO_PACKED_REFERENCE
- inline ushort &unicode() { return *((ushort*)&ucs); }
+ inline ushort &unicode() { return const_cast<ushort&>(ucs); }
#else
inline ushort &unicode() { return ucs; }
#endif
--end of file--