could anyone help me?
could anyone help me?
could anyone help me?
I guess not. If you have a working build with GCC why bother with the Solaris compiler?
Hi,
I'm trying to compile and install Qt 4.8 and the last QtCreator (please forgive me but I don't remember the release). I've catched some error on Qt compilation and I've got to modify some files to let it compile (one or two implicit cast not accepted by Sun CC and a big issue about a enum declaration like "enum { <varname> = <boolean expression> }")
I have big big problems on QtCreator, too much warnings and some errors with I'm trying to fight, but for now they still win.
Does a solaris-cc patch exist for Qt / QtCreator ?
Thanx,
Giulio
Last edited by julio77it; 23rd May 2012 at 01:25. Reason: grammar error
I've built again Qt 4.8.1 tracking all the changes I've done: I'm not sure of my choices, every advice will be welcome.
System Info :
SunOS 5.10 sun4u sparc SUNW,SPARC-Enterprise Solaris
Sun Studio 12: C++ Compiler
Package :
qt-everywhere-opensource-src-4.8.1.tar.gz
First I ran this configuration script
./configure -no-stl \
-opensource \
-no-qt3support \
-no-multimedia \
-no-phonon \
-no-webkit \
-no-svg \
-no-javascript-jit \
-no-declarative \
-no-openvg \
-no-gtkstyle \
-xmlpatterns \
-no-glib \
-nomake examples \
-nomake demos \
-prefix <my install path> \
-prefix-install
Then I ran gmake
1. "src/corelib/tools/qstringbuilder.h", line 396: Error: An integer constant expression is required here.
original:
src/corelib/tools/qstringbuilder.h:396 enum { ExactSize = QConcatenable<A>::ExactSize && QConcatenable<B>::ExactSize };
changed in:
#ifdef Q_OS_SOLARIS
enum { ExactSize = false };
#else
enum { ExactSize = QConcatenable<A>::ExactSize && QConcatenable<B>::ExactSize };
#endif
(enum declaration requires constants)
2. "src/network/ssl/qsslcertificate.cpp", line 433: Error: Using reinterpret_cast to convert from void(stack_st*) to void(*)(void*) not allowed.
original:
q_sk_pop_free((STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_sk_free));
changed in:
#ifdef Q_OS_SOLARIS
q_sk_pop_free((STACK*)altNames, (void(*)(void*))(q_sk_free));
#else
q_sk_pop_free((STACK*)altNames, reinterpret_cast<void(*)(void*)>(q_sk_free));
#endif
(old-style cast, sorry)
3. "src/gui/kernel/qdnd_x11.cpp", line 1468: Error: ShapeInput is not defined.
original:
windowContainsMouse = windowInteractsWithPosition(pos, w, ShapeInput) && windowInteractsWithPosition(pos, w, ShapeBounding);
changed in:
#ifdef Q_OS_SOLARIS
windowContainsMouse = windowInteractsWithPosition(pos, w, ShapeBounding);
#else
windowContainsMouse = windowInteractsWithPosition(pos, w, ShapeInput) && windowInteractsWithPosition(pos, w, ShapeBounding);
#endif
(I've searched unsuccessfully the definition of "ShapeInput" with shell commands)
It seems to work ...
Giulio
Bookmarks