PDA

View Full Version : QtUiTools/QUiLoader : No such file or directory



iesuser
27th March 2012, 06:57
Hi all,

I am trying to cross compile a demo example in qt-embedded-open-source-4.5.2. I have downloaded and installed the same successfully. while compiling the browser demo i am getting the above mentioned error.

that folder actually did not exist (QtUiTools/QUiLoader) in /usr/local/Trolltech/QtEmbedded-4.5.2-arm/include.

while installing the qt-embedded, in the .configure script i did not include the switch to include uitools i tried to add -uitools but that did not work out.

i copied the folder to qt-embedded-4.5.2-arm/ from the folder i got after untaring the tar file and i am getting a new error which is
/home/nikhil/NFPR/QtToolchain/4.1.1-920t/bin/../lib/gcc/arm-linux-uclibc/4.1.1/../../../../arm-linux-uclibc/bin/ld: cannot find -lQtUiTools

pls tell me if i have done the correct thing and how do i solve this issue??

Thanks in advance
Nikhil

wysota
27th March 2012, 10:17
What exactly "did not work out"? Did configure report why it is not going to build uitools?

iesuser
27th March 2012, 10:35
what did not work out is this

i entered the script ./configure with -uitools and got the error "invalid switch -uitools" and gave me a list of available switches (a list similar to what you get when you type a ./configure --help!)

wysota
27th March 2012, 11:15
So don't pass that switch and look for information in the configure log on whether uitools is going to be compiled or not.

iesuser
29th March 2012, 07:50
thank you for your replies. that issue was sorted out with help from the following link:
https://lists.webkit.org/pipermail/webkit-help/2009-August/000193.html

you just need to add -L<path to your toolchain/lib> -make tools to the configuration script. this is require for building QtUitools

after doing that i got other errors like:

undefined reference to lroundf
undefined reference to roundf
undefined reference to trunc

to solve this add following lines
inline long lround(double num) { return static_cast<long>(num > 0 ? num + 0.5 : ceil(num - 0.5)); }
inline long lroundf(float num) { return static_cast<long>(num > 0 ? num + 0.5f : ceilf(num - 0.5f)); }
inline double round(double num) { return num > 0 ? floor(num + 0.5) : ceil(num - 0.5); }
inline float roundf(float num) { return num > 0 ? floorf(num + 0.5f) : ceilf(num - 0.5f); }
inline double trunc(double num) { return num > 0 ? floor(num) : ceil(num); }

to the file:
src/3rdparty/webkit/JavaScriptCore/wtf/MathExtras.h inside qt-embedded folder

this was from this link:
http://www.cuteqt.com/blog/?p=911

after that i got an error
undefined reference to log2

to solve this, i changed the file qpf2.cpp by replacing log2(x) function with log(x)/log(2)

after all that it got compiled succesfully!!!

Vigneshkumar
19th March 2013, 08:19
Hi I am not a QT developer. But i am in a situation to build the browser QT Application.

First time when i try to build the browser application i got the following errors

Error 1
=====
In file included from bookmarks.cpp:46:
history.h:55:32: error: QWebHistoryInterface: No such file or directory
In file included from bookmarks.cpp:46:
history.h:83: error: expected class-name before '{' token
make: *** Error 1

Solution : I added the "QT += webkit" in the browser.pro file . The above error is fixed

Error 2
=====

webview.cpp:58:31: error: QtUiTools/QUiLoader: No such file or directory
webview.cpp: In member function 'virtual QObject* WebPage::createPlugin(const QString&, const QUrl&, const QStringList&, const QStringList&)':
webview.cpp:139: error: 'QUiLoader' was not declared in this scope
webview.cpp:139: error: expected `;' before 'loader'
webview.cpp:140: error: 'loader' was not declared in this scope
make: *** [webview.o] Error 1

By Googling i put "CONFIG += uitools" in the browser.pro file. But that's not worked for me

So in your above thread you mentioned like
[B]
"you just need to add -L<path to your toolchain/lib> -make tools to the configuration script. this is require for building QtUitools"

I can not understand the above line . Please make that as a clean steps for a non QT developer

Please help me to build the browser application successfully !!!!!

Thanks in Advance......

Regards,
Vignesh

Vigneshkumar
21st March 2013, 06:33
Actually i am trying to build the Browser QT Application. While building i got error 1

webview.cpp:58:31: error: QtUiTools/QUiLoader: No such file or directory
webview.cpp: In member function 'virtual QObject* WebPage::createPlugin(const QString&, const QUrl&, const QStringList&, const QStringList&)':
webview.cpp:139: error: 'QUiLoader' was not declared in this scope
webview.cpp:139: error: expected `;' before 'loader'
webview.cpp:140: error: 'loader' was not declared in this scope

So i commented above lines and builded. All the files are builded even though i got a final error

/opt/codesourcery/arm-2009q1/bin/../lib/gcc/arm-none-linux-gnueabi/4.3.3/../../../../arm-none-linux-gnueabi/bin/ld: cannot find -lQtUiTools

Actually All my QT SDK is in the path - /usr/local/Trolltech/QtEmbedded-4.6.3-arm/

/usr/local/Trolltech/QtEmbedded-4.6.3-arm/lib directory libQtUiTools.a, libQtUiTools.pl, libQtUiTools.so files are missing

How do i fix this problem and build the browser source

Regards,
Vignesh

kindaska
27th March 2013, 16:29
Hi there,
i'm trying to cross compile a source that uses QUIloader but i've got the same error as yours.
I've also tried to do as you suggested :

"you just need to add -L<path to your toolchain/lib> -make tools to the configuration script. this is require for building QtUitools"

but it was unsuccessful..
Googling out i've found this:
https://bugreports.qt-project.org/browse/QTBUG-20498

where it's explicited that
"UI Loader doesn't compile for embedded"
how do you succeded in use QUIloader???
are there some other steps?

thanks in advance,
kindaska