Trolltech Home | Qt-interest Home | Recent Threads | All Threads | Author | Date
All threads index page 1

Qt-interest Archive, March 2002
Using ddd with Qt


Message 1 in thread

So I installed the ddd debugger to use with Qt.  Can someone give me a
tip as to how I can get the value of a QString displayed as text?

Thanks,
Aaron



Message 2 in thread

Hi,

> So I installed the ddd debugger to use with Qt.  Can someone give me a
> tip as to how I can get the value of a QString displayed as text?

See for example http://qt-interest.trolltech.com/dlv3.html

Dimitri


Message 3 in thread

Hello List,

I' ve update my qt2.3.1 with qt-3.0.2.
The installation was done without any errors,
only some warnings.

I have the following warnings with any source:(


Any hints?

Greetings

Andre

--------------- schnipp ------------------------

make generate some failure like this:

g++ -c -pipe -Wall -W -O2 -DNO_DEBUG -I/usr/lib/qt/include -o 
malprog1.o malprog1.cpp
g++  -o exe malprog1.o   -L/usr/lib/qt/lib -L/usr/X11R6/lib -lXext 
-lm -lSM -lICE -lpng -ljpeg -lXt -lsqlplus -lqt -lXext -lX11 -lm
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster.12QPaintDevice+0xc): 
undefined reference to 
`QPaintDevice::setX11Data(QPaintDeviceX11Data const *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x1c): undefined 
reference to `QWidget::setName(char const *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x30): undefined 
reference to `QObject::childEvent(QChildEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x70): undefined 
reference to `QWidget::unsetCursor(void)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x74): undefined 
reference to `QWidget::setMask(QBitmap const &)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x7c): undefined 
reference to `QWidget::setCaption(QString const &)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x84): undefined 
reference to `QWidget::setIconText(QString const &)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xa8): undefined 
reference to `QWidget::showMinimized(void)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xac): undefined 
reference to `QWidget::showMaximized(void)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xb0): undefined 
reference to `QWidget::showNormal(void)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xb4): undefined 
reference to `QWidget::polish(void)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd0): undefined 
reference to `QWidget::minimumSizeHint(void) const'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd4): undefined 
reference to `QWidget::sizePolicy(void) const'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd8): undefined 
reference to `QWidget::heightForWidth(int) const'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xe0): undefined 
reference to `QWidget::reparent(QWidget *, unsigned int, QPoint 
const &, bool)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xe8): undefined 
reference to `QWidget::setAutoMask(bool)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xec): undefined 
reference to `QWidget::customWhatsThis(void) const'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x100): undefined 
reference to `QWidget::wheelEvent(QWheelEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x12c): undefined 
reference to `QWidget::dragEnterEvent(QDragEnterEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x130): undefined 
reference to `QWidget::dragMoveEvent(QDragMoveEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x134): undefined 
reference to `QWidget::dragLeaveEvent(QDragLeaveEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x138): undefined 
reference to `QWidget::dropEvent(QDropEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x13c): undefined 
reference to `QWidget::showEvent(QShowEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x140): undefined 
reference to `QWidget::hideEvent(QHideEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x144): undefined 
reference to `QWidget::customEvent(QCustomEvent *)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x14c): undefined 
reference to `QWidget::updateMask(void)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x150): undefined 
reference to `QWidget::styleChange(QStyle &)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x170): undefined 
reference to `QWidget::setWState(unsigned int)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x184): undefined 
reference to `QWidget::setKeyCompression(bool)'
malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x188): undefined 
reference to `QWidget::setMicroFocusHint(int, int, int, int, bool)'
malprog1.o: In function `MalFenster::paintEvent(QPaintEvent *)':
malprog1.o(.MalFenster::gnu.linkonce.t.paintEvent(QPaintEvent *) 
+0x29): undefined reference to `bitBlt(QPaintDevice *, int, int, 
QPaintDevice const *, int, int, int, int, Qt::RasterOp, bool)'
malprog1.o: In function `MalFenster::resizeEvent(QResizeEvent *)':
malprog1.o(.MalFenster::gnu.linkonce.t.resizeEvent(QResizeEvent *) 
+0x3a): undefined reference to `Qt::white'
malprog1.o(.MalFenster::gnu.linkonce.t.resizeEvent(QResizeEvent *) 
+0x5f): undefined reference to `bitBlt(QPaintDevice *, int, int, 
QPaintDevice const *, int, int, int, int, Qt::RasterOp, bool)'
collect2: ld returned 1 exit status
make: *** [exe] Error 1


Message 4 in thread


Looks like it can't find the new qt libraries?  Are you sure you installed
qt3 to /usr/lib/qt/lib and not /usr/local/qt/lib?

-Calin

On Sat, 2 Mar 2002, Andre Heine wrote:

> Hello List,
>
> I' ve update my qt2.3.1 with qt-3.0.2.
> The installation was done without any errors,
> only some warnings.
>
> I have the following warnings with any source:(
>
>
> Any hints?
>
> Greetings
>
> Andre
>
> --------------- schnipp ------------------------
>
> make generate some failure like this:
>
> g++ -c -pipe -Wall -W -O2 -DNO_DEBUG -I/usr/lib/qt/include -o
> malprog1.o malprog1.cpp
> g++  -o exe malprog1.o   -L/usr/lib/qt/lib -L/usr/X11R6/lib -lXext
> -lm -lSM -lICE -lpng -ljpeg -lXt -lsqlplus -lqt -lXext -lX11 -lm
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster.12QPaintDevice+0xc):
> undefined reference to
> `QPaintDevice::setX11Data(QPaintDeviceX11Data const *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x1c): undefined
> reference to `QWidget::setName(char const *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x30): undefined
> reference to `QObject::childEvent(QChildEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x70): undefined
> reference to `QWidget::unsetCursor(void)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x74): undefined
> reference to `QWidget::setMask(QBitmap const &)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x7c): undefined
> reference to `QWidget::setCaption(QString const &)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x84): undefined
> reference to `QWidget::setIconText(QString const &)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xa8): undefined
> reference to `QWidget::showMinimized(void)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xac): undefined
> reference to `QWidget::showMaximized(void)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xb0): undefined
> reference to `QWidget::showNormal(void)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xb4): undefined
> reference to `QWidget::polish(void)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd0): undefined
> reference to `QWidget::minimumSizeHint(void) const'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd4): undefined
> reference to `QWidget::sizePolicy(void) const'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd8): undefined
> reference to `QWidget::heightForWidth(int) const'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xe0): undefined
> reference to `QWidget::reparent(QWidget *, unsigned int, QPoint
> const &, bool)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xe8): undefined
> reference to `QWidget::setAutoMask(bool)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xec): undefined
> reference to `QWidget::customWhatsThis(void) const'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x100): undefined
> reference to `QWidget::wheelEvent(QWheelEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x12c): undefined
> reference to `QWidget::dragEnterEvent(QDragEnterEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x130): undefined
> reference to `QWidget::dragMoveEvent(QDragMoveEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x134): undefined
> reference to `QWidget::dragLeaveEvent(QDragLeaveEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x138): undefined
> reference to `QWidget::dropEvent(QDropEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x13c): undefined
> reference to `QWidget::showEvent(QShowEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x140): undefined
> reference to `QWidget::hideEvent(QHideEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x144): undefined
> reference to `QWidget::customEvent(QCustomEvent *)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x14c): undefined
> reference to `QWidget::updateMask(void)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x150): undefined
> reference to `QWidget::styleChange(QStyle &)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x170): undefined
> reference to `QWidget::setWState(unsigned int)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x184): undefined
> reference to `QWidget::setKeyCompression(bool)'
> malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x188): undefined
> reference to `QWidget::setMicroFocusHint(int, int, int, int, bool)'
> malprog1.o: In function `MalFenster::paintEvent(QPaintEvent *)':
> malprog1.o(.MalFenster::gnu.linkonce.t.paintEvent(QPaintEvent *)
> +0x29): undefined reference to `bitBlt(QPaintDevice *, int, int,
> QPaintDevice const *, int, int, int, int, Qt::RasterOp, bool)'
> malprog1.o: In function `MalFenster::resizeEvent(QResizeEvent *)':
> malprog1.o(.MalFenster::gnu.linkonce.t.resizeEvent(QResizeEvent *)
> +0x3a): undefined reference to `Qt::white'
> malprog1.o(.MalFenster::gnu.linkonce.t.resizeEvent(QResizeEvent *)
> +0x5f): undefined reference to `bitBlt(QPaintDevice *, int, int,
> QPaintDevice const *, int, int, int, int, Qt::RasterOp, bool)'
> collect2: ld returned 1 exit status
> make: *** [exe] Error 1
>
> --
> List archive and information: http://qt-interest.trolltech.com
>


Message 5 in thread

Hi Calin,

I have built qt3 in /usr/stc/qt. I don't use 'make install'.

I've set QTDIR to /usr/src/qt and the LD_LIBRARY_PATH to 
/usr/src/qt/lib.

I that the problem?

Now I tried it with 'make install', but now I get some errors.
I'm guessing, the qt3 wasn't built correctly:(

Bye

Andre



Am Sonntag, 3. März 2002 01:54 schrieb Calin A. Culianu:
> Looks like it can't find the new qt libraries?  Are you sure you
> installed qt3 to /usr/lib/qt/lib and not /usr/local/qt/lib?
>
> -Calin
>
> On Sat, 2 Mar 2002, Andre Heine wrote:
> > Hello List,
> >
> > I' ve update my qt2.3.1 with qt-3.0.2.
> > The installation was done without any errors,
> > only some warnings.
> >
> > I have the following warnings with any source:(
> >
> >
> > Any hints?
> >
> > Greetings
> >
> > Andre
> >
> > --------------- schnipp ------------------------
> >
> > make generate some failure like this:
> >
> > g++ -c -pipe -Wall -W -O2 -DNO_DEBUG -I/usr/lib/qt/include -o
> > malprog1.o malprog1.cpp
> > g++  -o exe malprog1.o   -L/usr/lib/qt/lib -L/usr/X11R6/lib
> > -lXext -lm -lSM -lICE -lpng -ljpeg -lXt -lsqlplus -lqt -lXext
> > -lX11 -lm
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster.12QPaintDevice+0xc
> >): undefined reference to
> > `QPaintDevice::setX11Data(QPaintDeviceX11Data const *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x1c): undefined
> > reference to `QWidget::setName(char const *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x30): undefined
> > reference to `QObject::childEvent(QChildEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x70): undefined
> > reference to `QWidget::unsetCursor(void)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x74): undefined
> > reference to `QWidget::setMask(QBitmap const &)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x7c): undefined
> > reference to `QWidget::setCaption(QString const &)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x84): undefined
> > reference to `QWidget::setIconText(QString const &)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xa8): undefined
> > reference to `QWidget::showMinimized(void)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xac): undefined
> > reference to `QWidget::showMaximized(void)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xb0): undefined
> > reference to `QWidget::showNormal(void)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xb4): undefined
> > reference to `QWidget::polish(void)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd0): undefined
> > reference to `QWidget::minimumSizeHint(void) const'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd4): undefined
> > reference to `QWidget::sizePolicy(void) const'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xd8): undefined
> > reference to `QWidget::heightForWidth(int) const'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xe0): undefined
> > reference to `QWidget::reparent(QWidget *, unsigned int, QPoint
> > const &, bool)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xe8): undefined
> > reference to `QWidget::setAutoMask(bool)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0xec): undefined
> > reference to `QWidget::customWhatsThis(void) const'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x100): undefined
> > reference to `QWidget::wheelEvent(QWheelEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x12c): undefined
> > reference to `QWidget::dragEnterEvent(QDragEnterEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x130): undefined
> > reference to `QWidget::dragMoveEvent(QDragMoveEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x134): undefined
> > reference to `QWidget::dragLeaveEvent(QDragLeaveEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x138): undefined
> > reference to `QWidget::dropEvent(QDropEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x13c): undefined
> > reference to `QWidget::showEvent(QShowEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x140): undefined
> > reference to `QWidget::hideEvent(QHideEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x144): undefined
> > reference to `QWidget::customEvent(QCustomEvent *)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x14c): undefined
> > reference to `QWidget::updateMask(void)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x150): undefined
> > reference to `QWidget::styleChange(QStyle &)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x170): undefined
> > reference to `QWidget::setWState(unsigned int)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x184): undefined
> > reference to `QWidget::setKeyCompression(bool)'
> > malprog1.o(.gnu.linkonce.d.__vt_10MalFenster+0x188): undefined
> > reference to `QWidget::setMicroFocusHint(int, int, int, int,
> > bool)' malprog1.o: In function
> > `MalFenster::paintEvent(QPaintEvent *)':
> > malprog1.o(.MalFenster::gnu.linkonce.t.paintEvent(QPaintEvent
> > *) +0x29): undefined reference to `bitBlt(QPaintDevice *, int,
> > int, QPaintDevice const *, int, int, int, int, Qt::RasterOp,
> > bool)' malprog1.o: In function
> > `MalFenster::resizeEvent(QResizeEvent *)':
> > malprog1.o(.MalFenster::gnu.linkonce.t.resizeEvent(QResizeEvent
> > *) +0x3a): undefined reference to `Qt::white'
> > malprog1.o(.MalFenster::gnu.linkonce.t.resizeEvent(QResizeEvent
> > *) +0x5f): undefined reference to `bitBlt(QPaintDevice *, int,
> > int, QPaintDevice const *, int, int, int, int, Qt::RasterOp,
> > bool)' collect2: ld returned 1 exit status
> > make: *** [exe] Error 1
> >
> > --
> > List archive and information: http://qt-interest.trolltech.com


Message 6 in thread

On Sat, 2002-03-02 at 04:49, Dimitri Papadopoulos wrote:
> See for example http://qt-interest.trolltech.com/dlv3.html
> 

Thanks for the link, this makes ddd much more usable.  

For future reference:
From reading that thread I added the following to .gbinit (originally
posted by Arnaud de Muyser):

define printqstring
    set $i=0
    set $unicode=$arg0.d->unicode

    printf "Getting QString...\n"
    while $i < $arg0.d->len
        set $c=$unicode[$i++].cl
        if $c < 32
          printf "\\0%o", $c
        else
          if $c <= 127
            printf "%c", $c
          else
            printf "\\0%o", $c
          end
        end
    end
    echo \n
end

Which I assume works for Qt 2.4.  For Qt 3.0, I had to change the line:
        set $c=$unicode[$i++].cl
to:
        set $c=$unicode[$i++].ucs

Aaron



Message 7 in thread

On 1 Mar 2002, Aaron Brice wrote:

> So I installed the ddd debugger to use with Qt.  Can someone give me a
> tip as to how I can get the value of a QString displayed as text?
>
> Thanks,
> Aaron


You can try running the instance method QString::latin1() or looking at (i
think) the 'data' field (private) of the QString instance.


>
> --
> List archive and information: http://qt-interest.trolltech.com
>


Message 8 in thread

Calin A. Culianu wrote:

> On 1 Mar 2002, Aaron Brice wrote:
> 
> 
>>So I installed the ddd debugger to use with Qt.  Can someone give me a
>>tip as to how I can get the value of a QString displayed as text?
>>
>>Thanks,
>>Aaron
>>
> 
> 
> You can try running the instance method QString::latin1() or looking at (i
> think) the 'data' field (private) of the QString instance.
> 
> 
> 
>>--
>>List archive and information: http://qt-interest.trolltech.com
>>
>>
> 
> --
> List archive and information: http://qt-interest.trolltech.com
> 
> 
> 


In qt-archive you will find --- searching for ddd and qstring --- the 
following mail. try it.



Subject: RE: GNU and QString: DEBUGGER DDD GDB
From: "David N S Reeves" <dnsreeves@netzero.net> - other postings
Date: Thu, 18 Jan 2001 08:36:43 -0600
Message-ID: <NEBBIAJCAJOEBIILHEHJEECACBAA.dnsreeves@netzero.net>

-----Original Message-----
From: owner-qt-interest@trolltech.com
[mailto:owner-qt-interest@trolltech.com]On Behalf Of Wilco Greven
Sent: Thursday, January 18, 2001 8:18 AM
To: qt interest
Subject: Re: GNU and QString


On Thu, Jan 18, 2001 at 03:02:03PM +0100, wim delvaux wrote:
 > Hi,
 >
 > Does anybody know how to display QStrings in GNU ?
 > I scanned the Archives but find only old pre 2.0 solutions

Do you mean gdb? Then you could add following script to you .gdbinit (thanks
to
David Faure who sent it to the kde-devel mailinglist):

define printqstring
     set $i=0
     while $i < $arg0.d->len
	print $arg0.d->unicode[$i++].cl
     end
end

Greetings,
Wilco



cu knut