Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / lazarus / 2009-11

QT binding works!

34 messages · 8 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Juha Manninen

Hi!

There are often complaints and questions about things that don't work. Now some positive feedback for a change:
I compiled the whole Lazarus to use QT widgets and it works! Yes.

I didn't have very high hopes because QT bindings are not ready and Lazarus is complicated. Still, I don't see any feature missing or working wrong. Only in About dialog the scrolling texts seem to scroll while the pane is invisible, in GTK2 version they started from top when you selected the pane. Not important really.

What more, I got rid of a window handling problem on my KDE desktop. All Lazarus windows in GTK2 version got minimized when I visited another virtual screen in KDE. Now they stay visible! Must be because KDE is made with QT itself. I even have the QT file open dialog now. Single click now opens a sub- directory, no more stupid double-clicks. (Double-click is a UI design bug anyway as we all know).

I start to use this QT version exclusively unless there are some hidden problems with it. (?)

Juha Manninen

Reply by email

Unknown author
to Juha Manninen

Quoting Juha Manninen :

Show quoted text 5 lines
Hi! There are often complaints and questions about things that don't work. Now some positive feedback for a change: I compiled the whole Lazarus to use QT widgets and it works! Yes.

Congratulations ! :)

I didn't have very high hopes because QT bindings are not ready and Lazarus is complicated. Still, I don't see any feature missing or working wrong. Only in

So it isn't so complicated ? :)

Show quoted text 7 lines
About dialog the scrolling texts seem to scroll while the pane is invisible, in GTK2 version they started from top when you selected the pane. Not important really. What more, I got rid of a window handling problem on my KDE desktop. All Lazarus windows in GTK2 version got minimized when I visited another virtual screen in KDE. Now they stay visible! Must be because KDE is made with QT

No, it's LCL bug. Try any GTK2 application and you'll see.

Show quoted text 7 lines
itself. I even have the QT file open dialog now. Single click now opens a sub- directory, no more stupid double-clicks. (Double-click is a UI design bug anyway as we all know). I start to use this QT version exclusively unless there are some hidden problems with it. (?)

Well, just fill bug report if you find anything bad.

zeljko

Reply by email

Juha Manninen
to David Emerson
David Emerson wrote 6 lines
Juha Manninen wrote: > I compiled the whole Lazarus to use QT widgets and it works! Yes. I've been wanting to do the same, though I failed at my previous attempt. What did you do to make it work? Are there guidelines somewhere? What versions are you using?

I am using the latest development version from SVN.

First I built just LCL and tested with my own program:

In Tools -> Configure "Build Lazarus" -> "Quick Build Options" tab I selected "Build LCL" and Target = "qt (beta)".
In "Advanced Build Options" tab the settings changed accordingly. Then "Build" and Lazarus restarts itself.
In my test project's Compiler Options -> Paths I set "LCL Widget Type" as "qt (beta)".

Then later I built the whole Lazarus:

In Tools -> Configure "Build Lazarus" -> Quick Build Options tab I selected "Build All" and IDE = "qt (beta)".
In "Advanced Build Options" tab I selected not to build Examples. "With Packages" is selected already but I also selected "Clean all" to be sure.
I also have Options: "-O2 -g- -Xs"
to optimize and strip debug info but it should work also without optimizing. Then just build. Lazarus opens with QT widgets and everything works!

I guess it would work also in one compilation but I did it in 2 phases.

I highly recommend QT widgets especially if you use KDE.

Regards
Juha Manninen

Reply by email

Juha Manninen
to zeljko
zeljko wrote 9 lines
On Thursday 12 November 2009 20:05, David Emerson wrote: > Juha Manninen wrote: > > I compiled the whole Lazarus to use QT widgets and it works! Yes. > > I've been wanting to do the same, though I failed at my previous > attempt. What did you do to make it work? Are there guidelines > somewhere? What versions are you using? http://wiki.lazarus.freepascal.org/index.php/Qt_Interface

Yes, right, I forgot that I already installed "libqt4intf.so" earlier to /usr/local/lib. Then my experiments failed for other reasons. Later I compiled the SVN version and it just worked and I was surprised.

Anyway, "libqt4intf.so" is easy to install (at least on Linux). The wiki page tells how.

Juha Manninen

Reply by email

zeljko
to Juha Manninen
Juha Manninen wrote 17 lines
On perjantai, 13. marraskuuta 2009 09:29:20 zeljko wrote: > On Thursday 12 November 2009 20:05, David Emerson wrote: > > Juha Manninen wrote: > > > I compiled the whole Lazarus to use QT widgets and it works! Yes. > > > > I've been wanting to do the same, though I failed at my previous > > attempt. What did you do to make it work? Are there guidelines > > somewhere? What versions are you using? > > http://wiki.lazarus.freepascal.org/index.php/Qt_Interface Yes, right, I forgot that I already installed "libqt4intf.so" earlier to /usr/local/lib. Then my experiments failed for other reasons. Later I compiled the SVN version and it just worked and I was surprised. Anyway, "libqt4intf.so" is easy to install (at least on Linux). The wiki page tells how.

Yes, but wiki page needs an update because since bindings v 1.72 libqt4intf.so is only symlink to libqt4intf.so.5.1.72.

zeljko

Reply by email

Juha Manninen
to zeljko: http://wiki.lazarus.freepascal.org/index.php/Qt_Interface

Looking at the Roadmap page it seems that QT bindings are equally or even better implemented than GTK2 bindings. So why is it made more difficult to install? "libqt4intf.so" could be included in the SVN source tree and in release packages.
I would even suggest making QT bindings the default. It is as portable as GTK2, is slightly more beautiful and has much better file open and save dialogs. (= single click actions).
... and works better with KDE... yes.

Juha Manninen

Reply by email

zeljko
to Juha Manninen
Juha Manninen wrote 6 lines
> http://wiki.lazarus.freepascal.org/index.php/Qt_Interface Looking at the Roadmap page it seems that QT bindings are equally or even better implemented than GTK2 bindings. So why is it made more difficult to install? "libqt4intf.so" could be included in the SVN source tree and in release packages.

It is included but for win32 platform only.
Linux is another story :) ..... eg. I'm using libqt4intf.so compiled by myself ,because I'm still on glibc-2.3.4, so binary ones cannot be used here ... etc..etc, but there's a chance that we'll have packages (rpm,deb) soon for libqt4intf, so there will not be so much problems about it.

I would even suggest making QT bindings the default. It is as portable as GTK2, is slightly more beautiful and has much better file open and save dialogs. (= single click actions). ... and works better with KDE... yes.

Well, it does not depend on me, but generally current qt implementation is much better and have less bugs than gtk2, we are using it for our commercial apps (ported from CLX) so it must be stable enough :).Our Qt apps also works nice under Gnome because of Gtk+ style, so when running Qt-45 app under Gnome there's no diff between gtk2 and qt application :)

zeljko

Reply by email

David Emerson
to Juha Manninen: I am using the latest development version from SVN. First I built just LCL and tested…

I've done all this, but at the very beginning of the compilation, I get:

make[2]: *** [../../units/i386-linux/qt] Error 1

and it gives up.

Using debian stable, kde 3.5.9/10. Tried with the packaged lazarus 0.9.28.2-0 as well as svn

$ /sbin/ldconfig -p | grep qt
libqt4intf.so.5 (libc6) => /usr/local/lib/libqt4intf.so.5 libqt4intf.so (libc6) => /usr/local/lib/libqt4intf.so libqtmcop.so.1 (libc6) => /usr/lib/libqtmcop.so.1
libqt-mt.so.3 (libc6) => /usr/lib/libqt-mt.so.3
libdbus-qt-1.so.1 (libc6) => /usr/lib/libdbus-qt-1.so.1 libavahi-qt3.so.1 (libc6) => /usr/lib/libavahi-qt3.so.1

Cheers,
David.

Reply by email

zeljko
to David Emerson
David Emerson wrote 17 lines
I've done all this, but at the very beginning of the compilation, I get: make[2]: *** [../../units/i386-linux/qt] Error 1 and it gives up. Using debian stable, kde 3.5.9/10. Tried with the packaged lazarus 0.9.28.2-0 as well as svn $ /sbin/ldconfig -p | grep qt libqt4intf.so.5 (libc6) => /usr/local/lib/libqt4intf.so.5 libqt4intf.so (libc6) => /usr/local/lib/libqt4intf.so libqtmcop.so.1 (libc6) => /usr/lib/libqtmcop.so.1 libqt-mt.so.3 (libc6) => /usr/lib/libqt-mt.so.3 libdbus-qt-1.so.1 (libc6) => /usr/lib/libdbus-qt-1.so.1 libavahi-qt3.so.1 (libc6) => /usr/lib/libavahi-qt3.so.1

You don't have Qt4 libs installed. As I can see you have properly installed libqt4intf.so.XX but not Qt4 libs (only Qt3 is inside). Don't know what should be dpkg command, but under rpm distro : rpm -qa | grep qt shows all packages contains qt ... so try that to see what you have inside.

zeljko

Reply by email

Gustavo Enrique Jimenez
to zeljko

2009/11/14 zeljko :

Show quoted text 26 lines
On Saturday 14 November 2009 01:35, David Emerson wrote: > I've done all this, but at the very beginning of the compilation, I get: > > make[2]: *** [../../units/i386-linux/qt] Error 1 > > and it gives up. > > Using debian stable, kde 3.5.9/10. Tried with the packaged lazarus > 0.9.28.2-0 as well as svn > > $ /sbin/ldconfig -p | grep qt > ? ? ? ? libqt4intf.so.5 (libc6) => /usr/local/lib/libqt4intf.so.5 > ? ? ? ? libqt4intf.so (libc6) => /usr/local/lib/libqt4intf.so > ? ? ? ? libqtmcop.so.1 (libc6) => /usr/lib/libqtmcop.so.1 > ? ? ? ? libqt-mt.so.3 (libc6) => /usr/lib/libqt-mt.so.3 > ? ? ? ? libdbus-qt-1.so.1 (libc6) => /usr/lib/libdbus-qt-1.so.1 > ? ? ? ? libavahi-qt3.so.1 (libc6) => /usr/lib/libavahi-qt3.so.1 > You don't have Qt4 libs installed. As I can see you have properly installed libqt4intf.so.XX but not Qt4 libs (only Qt3 is inside). Don't know what should be dpkg command, but under rpm distro : rpm -qa | grep qt shows all packages contains qt ... so try that to see what you have inside. zeljko

In my Debian/stable I have libqt4-core and libqt4-dev, not sure if this will solve your problem.

Install with

apt-get install libqt4-core libqt4-dev (as root)

Gustavo

Show quoted text 7 lines
-- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

David Emerson
to Mattias Gaertner
Mattias Gaertner wrote
> make[2]: *** [../../units/i386-linux/qt] Error 1 The important lines are in front of this message. Please send all the messages.

This is the only message I see. The debug output window is empty.

Perhaps I could get more info by compiling from the command line (as opposed to using "build lazarus" within lazarus) but I can't figure out how to get "make clean all" to use the qt widget set.

I did install libqt4-dev (libqt4-core was already installed) but it hasn't made any difference.

Thanks!
~David.

Reply by email

Mattias Gaertner
to David Emerson
Show quoted text 6 lines
Mattias Gaertner wrote: > > make[2]: *** [../../units/i386-linux/qt] Error 1 > The important lines are in front of this message. Please send all the > messages. This is the only message I see. The debug output window is empty.

The debug output window is for the debugger output. The above line is more likely in the 'Messages' window and you can right click it and do 'Save all messages to file'.

Show quoted text 6 lines
Perhaps I could get more info by compiling from the command line (as opposed to using "build lazarus" within lazarus) but I can't figure out how to get "make clean all" to use the qt widget set. I did install libqt4-dev (libqt4-core was already installed) but it hasn't made any difference.

Have you seen this page:
http://wiki.lazarus.freepascal.org/Qt_Interface#Quick_start_guide_for_Linux

Mattias

Reply by email

David Emerson
to Mattias Gaertner
Mattias Gaertner wrote
The debug output window is for the debugger output. The above line is more likely in the 'Messages' window and you can right click it and do 'Save all messages to file'.

Ah, thanks, wonderful -- I see now what the problem is: it is trying to build in the root-owned /usr/lib/lazarus instead of my user-owned /Docs/fpc/Lazarus/ or ~/.lazarus/

How can I set this up properly? Setting "Target Directory" seems to have no effect (and the wiki notes that this is for the IDE only, not other components). I've been looking around the wiki, but can't find anything that explains this.

Thanks!
~David.

Reply by email

Juha Manninen
to David Emerson
David Emerson wrote
How can I set this up properly? Setting "Target Directory" seems to have no effect (and the wiki notes that this is for the IDE only, not other components). I've been looking around the wiki, but can't find anything that explains this.

I found it easiest to get the latest development version from svn:

svn co http://svn.freepascal.org/svn/lazarus/trunk lazarus

That creates a "lazarus" directory under the current dir. Then run: make all

Then open lazarus and configure build options like widget set, and build again.

Later you can update the latest updates quickly from svn by: svn up

http://wiki.lazarus.freepascal.org/Getting_Lazarus#Development_versions_from_SVN

Juha Manninen

Reply by email

Mattias Gaertner
to David Emerson: Ah, thanks, wonderful -- I see now what the problem is: it is trying to build in the…
Show quoted text 13 lines
Mattias Gaertner wrote: > The debug output window is for the debugger output. > The above line is more likely in the 'Messages' window and you can > right click it and do 'Save all messages to file'. Ah, thanks, wonderful -- I see now what the problem is: it is trying to build in the root-owned /usr/lib/lazarus instead of my user-owned /Docs/fpc/Lazarus/ or ~/.lazarus/ How can I set this up properly? Setting "Target Directory" seems to have no effect (and the wiki notes that this is for the IDE only, not other components). I've been looking around the wiki, but can't find anything that explains this.

How did you install lazarus?

The IDE first checks if the directory $(LazarusDir) is writable. If it is not writable it uses ~/.lazarus/bin/.

Mattias

Reply by email

Mattias Gaertner
to David Emerson
Mattias Gaertner wrote: > How did you install lazarus? debian packages on http://www.hu.freepascal.org/lazarus/ lazarus-stable

The debian package can not recompile the LCL, codetools, synedit and IDEIntf.
Use lazarus svn or copy the debian files /usr/lib/lazarus to your home folder, change owner recursively and set environment option lazarus source directory.

> The IDE first checks if the directory $(LazarusDir) is > writable. If it is not writable it uses ~/.lazarus/bin/.

Mattias

Reply by email

Juha Manninen
to Mattias Gaertner
Mattias Gaertner wrote 5 lines
The debian package can not recompile the LCL, codetools, synedit and IDEIntf. Use lazarus svn or copy the debian files /usr/lib/lazarus to your home folder, change owner recursively and set environment option lazarus source directory.

I had the same problem with Suse package.
I could compile Lazarus with default GTK widgets but not for using QT widgets. Is it a bug or feature?
Most new people install Lazarus as a distro package and have the same problem. A complicated program takes effort to learn anyway. You try things from menu but it doesn't work... not good...
The "Build Lazarus" options that don't work for a typical distro install should be disabled when the needed write access is not there.

Anyway, now I have learned that svn install is very easy. Just one svn command and then "make all". See my mail earlier in this thread. As a bonus you get all the latest improvements, but still it seems to be very stable.

Juha Manninen

Reply by email

Mattias Gärtner
to Juha Manninen

Zitat von Juha Manninen :

Show quoted text 11 lines
On tiistai, 24. marraskuuta 2009 11:27:32 Mattias Gaertner wrote: > The debian package can not recompile the LCL, codetools, synedit and > IDEIntf. > Use lazarus svn or copy the debian files /usr/lib/lazarus to your home > folder, change owner recursively and set environment option lazarus > source directory. I had the same problem with Suse package. I could compile Lazarus with default GTK widgets but not for using QT widgets. Is it a bug or feature?

A missing feature.
Some packages like LCL are special. This will work when the build modes are finished.
You can compile as root, but I recommend to use a user install (e.g. via svn).

Show quoted text 6 lines
Most new people install Lazarus as a distro package and have the same problem. A complicated program takes effort to learn anyway. You try things from menu but it doesn't work... not good... The "Build Lazarus" options that don't work for a typical distro install should be disabled when the needed write access is not there.

I added a messagedlg.

BTW: for one distro there is a typical install - but from lazarus pov: I stopped counting the number of distro installs.

Show quoted text 5 lines
Anyway, now I have learned that svn install is very easy. Just one svn command and then "make all". See my mail earlier in this thread. As a bonus you get all the latest improvements, but still it seems to be very stable.

:)

Mattias

Reply by email

David Emerson
to Mattias Gaertner: On Mon, 23 Nov 2009 16:37:15 -0800 The debian package can not recompile the LCL,…

I also have an svn installation (actually git) and the same problem occurs there:
make: Entering directory `/usr/lib/lazarus/0.9.28.2/lcl'

I'm not sure why my svn version wants to go to /usr/lib ... maybe the problem is that I have both installed?

Thanks,
David

Mattias Gaertner wrote 7 lines
On Mon, 23 Nov 2009 16:37:15 -0800 David Emerson wrote: > Mattias Gaertner wrote: > > How did you install lazarus? > > debian packages on http://www.hu.freepascal.org/lazarus/

lazarus-stable

Show quoted text 20 lines
The debian package can not recompile the LCL, codetools, synedit and IDEIntf. Use lazarus svn or copy the debian files /usr/lib/lazarus to your home folder, change owner recursively and set environment option lazarus source directory. > > The IDE first checks if the directory $(LazarusDir) is > > writable. If it is not writable it uses ~/.lazarus/bin/. Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Mattias Gaertner
to David Emerson
Show quoted text 6 lines
I also have an svn installation (actually git) and the same problem occurs there: make: Entering directory `/usr/lib/lazarus/0.9.28.2/lcl' I'm not sure why my svn version wants to go to /usr/lib ... maybe the problem is that I have both installed?

Check Options / Paths / Lazarus source directory

Mattias

Reply by email

David Emerson
to Mattias Gaertner

I'm sorry for being so dense, but where are these Options? I have looked in Environment > Options, Tools > Configure Build Lazarus Options, Project > Compiler Options ... maybe I missed it?

Thanks!
David

Mattias Gaertner wrote 8 lines
On Tue, 24 Nov 2009 15:12:16 -0800 David Emerson wrote: > I also have an svn installation (actually git) and the same problem > occurs there: > make: Entering directory `/usr/lib/lazarus/0.9.28.2/lcl' > > I'm not sure why my svn version wants to go to /usr/lib ... maybe

the

Show quoted text 12 lines
> problem is that I have both installed? Check Options / Paths / Lazarus source directory Mattias -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

Phil Hess
to David Emerson

David,

I believe that refers to Environment | Options, then on the Environment Files tab, look for "Lazarus directory".

Thanks.

-Phil

----- "David Emerson" wrote 41 lines
I'm sorry for being so dense, but where are these Options? I have looked in Environment > Options, Tools > Configure Build Lazarus Options, Project > Compiler Options ... maybe I missed it? Thanks! David On Tue 24 Nov 2009, Mattias Gaertner wrote: > On Tue, 24 Nov 2009 15:12:16 -0800 > David Emerson wrote: > > > I also have an svn installation (actually git) and the same problem > > occurs there: > > make: Entering directory `/usr/lib/lazarus/0.9.28.2/lcl' > > > > I'm not sure why my svn version wants to go to /usr/lib ... maybe the > > problem is that I have both installed? > > Check Options / Paths / Lazarus source directory > > Mattias > > -- > _______________________________________________ > Lazarus mailing list > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

David Emerson
to Phil Hess: I believe that refers to Environment | Options, then on the Environment Files tab, look…

Ah, now I've found it, and it is compiling! Thank you!

Now, after many parts are successfully compiled, it is stumbling on the qt part. I'm getting about 250 messages like this:

/usr/local/lib/libqt4intf.so: undefined reference to `QTabBar::moveTab(int, int)'

(each message lists a different function)

then "Error while linking".

any tips from here?

Thanks,
David

Phil Hess wrote
David, I believe that refers to Environment | Options, then on the

Environment Files tab, look for "Lazarus directory".

Show quoted text 25 lines
Thanks. -Phil ----- "David Emerson" wrote: > I'm sorry for being so dense, but where are these Options? I have > looked > in Environment > Options, Tools > Configure Build Lazarus Options, > Project > Compiler Options ... maybe I missed it? > > Thanks! > David > > On Tue 24 Nov 2009, Mattias Gaertner wrote: > > On Tue, 24 Nov 2009 15:12:16 -0800 > > David Emerson wrote: > > > > > I also have an svn installation (actually git) and the same > problem > > > occurs there: > > > make: Entering directory `/usr/lib/lazarus/0.9.28.2/lcl' > > > > > > I'm not sure why my svn version wants to go to /usr/lib ...

maybe

Show quoted text 30 lines
> > the > > > problem is that I have both installed? > > > > Check Options / Paths / Lazarus source directory > > > > Mattias > > > > -- > > _______________________________________________ > > Lazarus mailing list > > > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus > > > > > > > -- > _______________________________________________ > Lazarus mailing list > > http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

zeljko
to David Emerson
David Emerson wrote 13 lines
Ah, now I've found it, and it is compiling! Thank you! Now, after many parts are successfully compiled, it is stumbling on the qt part. I'm getting about 250 messages like this: /usr/local/lib/libqt4intf.so: undefined reference to `QTabBar::moveTab(int, int)' (each message lists a different function) then "Error while linking". any tips from here?

Yes, you are using old libqt4intf.so and/or old qt libs. Read
http://wiki.lazarus.freepascal.org/index.php/Qt_Interface and you can download latest libqt4intf from
http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html of course latest bindings works with >= qt-4.5 (just tested released 4.6.0 and it works) :)

Reply by email

David Emerson
to zeljko
zeljko wrote 14 lines
David Emerson wrote: > qt part. I'm getting about 250 messages like this: > > /usr/local/lib/libqt4intf.so: undefined reference to > `QTabBar::moveTab(int, int)' > > then "Error while linking". Yes, you are using old libqt4intf.so and/or old qt libs. Read http://wiki.lazarus.freepascal.org/index.php/Qt_Interface and you can download latest libqt4intf from http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html of course latest bindings works with >= qt-4.5 (just tested released

4.6.0 and

it works) :)

I have libqt4intf.so.5.1.72 which I believe is the latest.

However I also have libqt4 4.4.3 which is < 4.5 mentioned on the libqt4intf page.

So it looks like I would need to upgrade my qt4 libs into the world of debian testing/unstable, in order to compile laz with qt. This is not exactly comfortable, as I'm concerned that doing so could break my kde desktop and many apps.

I wish I could have garnered that requirement by reading those pages. Though it does list the higher versions of qt4, it nowhere says that I would be required to install those versions of all qt4 libs.

I am not sure how it ought to read, but my guess would be something like this:

Version info

The latest libqt4intf requires Qt >= 4.5.2

V1.72: 21 Sep 2009: Improved signal hooking/method overriding, Windows:renamed types likes HDC to avoid name clashes V1.71: 15 Sep 2009: requires Qt >= 4.5.2, WebKit improvements (qlclwebpage/qlclwebview/qlclnetworkcookie),qlclthread, versioning, lclwebkit demo

sigh.
Thanks for all your help! Maybe some time in the future I will be able to upgrade to qt lazarus.
~David.

Reply by email

Phil Hess
to David Emerson

David,

If Qt4Intf 1.68 is still available, I believe it supports Qt 4.4.3. And the 0.9.28.2 stable Lazarus supports it too - just compile with -dUSE_QT_44.

Maybe 1.69 does too - I only have 1.68 here (for Mac).

Thanks.

-Phil

----- "David Emerson" wrote 64 lines
zeljko wrote: > David Emerson wrote: > > qt part. I'm getting about 250 messages like this: > > > > /usr/local/lib/libqt4intf.so: undefined reference to > > `QTabBar::moveTab(int, int)' > > > > then "Error while linking". > > Yes, you are using old libqt4intf.so and/or old qt libs. > Read > http://wiki.lazarus.freepascal.org/index.php/Qt_Interface > and you can download latest libqt4intf from > http://users.telenet.be/Jan.Van.hijfte/qtforfpc/fpcqt4.html > of course latest bindings works with >= qt-4.5 (just tested released 4.6.0 and > it works) :) I have libqt4intf.so.5.1.72 which I believe is the latest. However I also have libqt4 4.4.3 which is < 4.5 mentioned on the libqt4intf page. So it looks like I would need to upgrade my qt4 libs into the world of debian testing/unstable, in order to compile laz with qt. This is not exactly comfortable, as I'm concerned that doing so could break my kde desktop and many apps. I wish I could have garnered that requirement by reading those pages. Though it does list the higher versions of qt4, it nowhere says that I would be required to install those versions of all qt4 libs. I am not sure how it ought to read, but my guess would be something like this: Version info The latest libqt4intf requires Qt >= 4.5.2 V1.72: 21 Sep 2009: Improved signal hooking/method overriding, Windows:renamed types likes HDC to avoid name clashes V1.71: 15 Sep 2009: requires Qt >= 4.5.2, WebKit improvements (qlclwebpage/qlclwebview/qlclnetworkcookie),qlclthread, versioning, lclwebkit demo sigh. Thanks for all your help! Maybe some time in the future I will be able to upgrade to qt lazarus. ~David. -- _______________________________________________ Lazarus mailing list http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply by email

zeljko
to David Emerson: 4.6.0 and I have libqt4intf.so.5.1.72 which I believe is the latest. However I also have…
David Emerson wrote
I have libqt4intf.so.5.1.72 which I believe is the latest. However I also have libqt4 4.4.3 which is < 4.5 mentioned on the libqt4intf page.

Then you cannot use libqt4intf.so.5.1.72, you must use older one eg. 1.70 and compile lazarus with QT_USE_44 if you have qt-4.4. I know that there was a mess before 0.9.29 since we supported 3 qt versions. 1.Qt-4.3 - default
2.Qt-4.4 - USE_QT_44
3.Qt-4.5 - USE_QT_45

libqt4intf.so.5.1.72 is the latest and supports >= qt-4.5, and also IFDEF's are removed (and won't be added again). Those bindings works fine with 4.6 ... so next change in bindings could be around qt-4.7 ... so maybe in next 12 months.

zeljko

Reply by email