Recent

Author Topic: Qt4 Problem  (Read 4764 times)

geist

  • New Member
  • *
  • Posts: 10
Qt4 Problem
« on: February 27, 2009, 10:24:47 pm »
I have installed lazarus version 0.9.26 under kubuntu 8.04 hardy , and tried to link againt the Qt4 set.

I've installed the libqt4intf.so file according to the wiki, and have had run "ldconfig".

That all went fine, and i can compile now the lcl in lazarus.

Unfortunaly i can't compile *any* project (not even the smallest one with just one form)

I'will always get "Fatal: There were 1 errors compiling module, stopping"
 
Looking to the Log Window shows me alot of "undefinated references", just wondering why i am getting this.

/usr/bin/../lib/libqt4intf.so: undefined reference to `QPrinter::setPaperSize(QSizeF const&, QPrinter::Unit)'
/usr/bin/../lib/libqt4intf.so: undefined reference to `QStyleOptionViewItemV4::QStyleOptionViewItemV4()'
/usr/bin/../lib/libqt4intf.so: undefined reference to `QFileDialog::setNameFilterDetailsVisible(bool)'
/usr/bin/../lib/libqt4intf.so: undefined reference to `QPrintPreviewWidget::setViewMode(QPrintPreviewWidget::ViewMode)'
/usr/bin/../lib/libqt4intf.so: undefined reference to `QGraphicsScene::font() const'
/usr/bin/../lib/libqt4intf.so: undefined reference to `QMdiSubWindow::mdiArea() const'

When i try to replace the QT4.pas file wich comes along with lazarus , with the version inside the package "bin-qt4pas-V1.68_Qt4.4.3.tar.gz" then i'll get a compile error in the the unit qtwidget.pas "function selected item" Error Identifeyer not found TInitArray.

Why i can't link against the QT ??


Troodon

  • Sr. Member
  • ****
  • Posts: 484
Re: Qt4 Problem
« Reply #1 on: February 28, 2009, 05:48:11 am »
It works for me on Ubuntu 8.04. However, I installed not only the qt4 .so file you mentioned but also the updated kde-desktop 4.x for this distro, which I suppose includes more qt4.x-related files.
Lazarus/FPC on Linux

geist

  • New Member
  • *
  • Posts: 10
Re: Qt4 Problem
« Reply #2 on: February 28, 2009, 04:05:04 pm »
Sorry found today what the problem was.

The Wiki is a bit out of date, and it sould also have an hint to a message that users should check wich qt version is installed.

It is easy to missunderstand wich QT binding one should use, if one doesnt know the differences of the QT Version.

In my case i have always used the QT4.4 since i tought that is the newest one, thereforce my system uses 4.3 Version of QT , afer looking into adept to see wich QT Version is installed evrything was clear.

Also the wiki miss the hint to replace the QT4.PAS wich comes also in the QT4 binary.

One must replace the qt4.pas that comes with lazarus with the qt4.pas that comes with the libqt4intf.so package since the lazarus version is out of date (v1.62) compared to V1.68 wich is in the libqt4inf.so package.

Onced the correct binding of the qt is installed, and the qt4.pas is replaced, linking will not fail anymore.

 



 

TinyPortal © 2005-2018