On Friday 07 January 2011 19:51:09 Serghei Amelian
wrote:
Hi Tim,
I try compile kdelibs and it stopping with this error (tqtinterface is
built with Qt3):
[ 2%] Building CXX object
dcop/CMakeFiles/DCOP-shared.dir/dcopclient.cpp.o
cd /home/serghei/kdelibs.build/dcop
&& /usr/bin/c++ -DDCOP_shared_EXPORTS -DHAVE_CONFIG_H -DUSE_QT3
-DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -include tqt.h -fPIC -I/usr/qt/3/include
-I/usr/include/tqt -I/home/serghei/kdelibs.build/dcop
[...]
I forgot to checkout. After checkout, the error is this:
[ 1%] Building CXX object
dcop/CMakeFiles/DCOP-shared.dir/dcopclient.cpp.o
cd /home/serghei/kdelibs.build/dcop
&& /usr/bin/c++ -DDCOP_shared_EXPORTS -DHAVE_CONFIG_H -DUSE_QT3
-DQT_NO_ASCII_CAST -DQT_CLEAN_NAMESPACE -DQT_NO_STL -DQT_NO_COMPAT
-DQT_NO_TRANSLATION -include
tqt.h -fPIC -I/usr/qt/3/include -I/usr/include/tqt
-I/home/serghei/kdelibs.build/dcop -I/home/serghei/kdelibs.build
-I/usr/src/trinity/kdelibs/dcop -I/home/serghei/kdelibs.build/kdecore
-I/usr/src/trinity/kdelibs/kdecore -o
CMakeFiles/DCOP-shared.dir/dcopclient.cpp.o -c
/usr/src/trinity/kdelibs/dcop/dcopclient.cpp
/usr/src/trinity/kdelibs/dcop/dcopclient.cpp: In function 'void
fillQtObjects(QCStringList&, QObject*, QCString)':
/usr/src/trinity/kdelibs/dcop/dcopclient.cpp:1334: error: 'class QObject'
has
no member named 'tqchildren'
/usr/src/trinity/kdelibs/dcop/dcopclient.cpp:1348: error: 'class QObject'
has
no member named 'tqchildren'
/usr/src/trinity/kdelibs/dcop/dcopclient.cpp: In function 'void
fillQtObjectsEx(QValueList<<unnamed>::O>&, QObject*, QCString)':
/usr/src/trinity/kdelibs/dcop/dcopclient.cpp:1371: error: 'class QObject'
has
no member named 'tqchildren'
/usr/src/trinity/kdelibs/dcop/dcopclient.cpp:1385: error: 'class QObject'
has
no member named 'tqchildren'
make[2]: *** [dcop/CMakeFiles/DCOP-shared.dir/dcopclient.cpp.o] Error 1
--
Serghei
Ah, OK, I know what that is...
I recently made a change to Qt3 itself to add the ability to retrieve a
(copied) TQObjectList of children instead of a pointer to an internal
object. The patch is attached.
Some of the reasoning for this change is up on the TQt interface page, but
it boils down to:
1. Qt3 is not maintained upstream (obviously)
2. I am very nervous about pointers to static objects that may be deleted
at any time from any other thread/process/etc., causing nasty crashes
3. This is the only change needed to allow TQt to handle both Qt3 and Qt4
4. The Qt3 ABI and API are unaffected as the change merely adds two
methods that will be utilized in the future
You will need to recompile Qt3 with the patch applied before TQt will
build properly. Alternatively you may utilize the TQt source from before
SVN revision 1210400, but that will cause problems in the future as final
TQt porting is completed.
Tim