Qtuitools compiling for uclinux
-
wrote on 17 May 2016, 14:59 last edited by
I am trying to get the version of qt-5.3.2 to work on a uclinux build and when I go to run qmake I get the following error Project Error: Unknown module(s) in QT: uitools. I am able to compile the uitools not sure if I have something in my configure that I need to change
//This is how I am configuring the qt
#!/bin/sh
./configure -device linux-arm-k70-som-g++ -confirm-license -opensource -device-option CROSS_COMPILE=linux-arm-uclinuxeabi
-static -no-c++11 -no-compile-examples -no-xcb -no-qml-debug -no-sql-sqlite --enable-tslib -qreal float -I ${INSTALL_ROOT}/A2F/tslib/src -L ${INSTALL_ROOT}/A2F/root/usr/lib -
Hi and welcome to devnet,
The qtuitools module is not built when you cross-compile. Why do you need it ?
-
wrote on 20 May 2016, 17:40 last edited by
We did a previous project for an embedded processor using 4.7.4. We built the project using the cross compilier linux-arm-gnueabi. We did this so we could use the qt creator to edit the screens and then we could easily compile for Linux and Windows versus the embedded processor. I know you don't need the editor and you can position everything with code just wondering what is different when trying to go to qt5.
-
Are you using QUiLoader in your code ?
-
wrote on 20 May 2016, 22:14 last edited by
Yes, what other ways can I do this or do I need to do something else to enable the QUiLoader?
-
You have to build it by hand, it's in
qttools/src/designer/src/uitools/
-
wrote on 20 May 2016, 22:25 last edited by
I have gone to the location qttools/src/designer/src/uitools/
- qmake uitools (used the qmake with the cross compilier using the absolute location)
- make
- make install
After try and run qmake and still get the same error
-
Has everything run without any error ?
-
wrote on 21 May 2016, 13:47 last edited by
I compile the project with uitools and run on my linux machine without any errors. I also have another project that doesn't use uitools that I can get to compile and run on the embedded device.
-
There's something not clear here. From your previous post, you are saying you still have the error from before and now you write that everything is running fine. So which case is it ?
-
wrote on 23 May 2016, 14:29 last edited by
I have 2 different projects that I am working with. The project that I can compile and load on the device doesn't have QtUiTools included, the GUI is written in C++ without using any *.ui files. The second project I am using QtUiTools and *.ui files that compiles and runs on a linux machine so there are no errors in the code. I then try to do qmake (for the embedded linux) on the same code, and receive the error Project Error: Unknown module(s) in QT: uitools.
-
Might be a silly question but did you call
make install
after your cross-compiled the module ? -
wrote on 26 May 2016, 18:48 last edited by
Yes I have done the make install in both the qt5 directory and the qtuitools directory. I also setup a new machine with a new version of Ubuntu 16.04 previous version was Ubuntu 14.04 and setup everything and still get the same error on both machines. I installed Qt by downloading the qt-everywhere-opensource-src-5.3.2.tar.gz. I did find something strange on the new machine I haven't installed qt4 but when I run a qmake it is pointing to the location /usr/lib/x86_64-linux-gnu/qt4/bin/qmake but it is not there. I ran some patches that were provided by EmCraft for the module I am using maybe it has changed something? How can I change the path so it goes to the right place for qmake?
-
Just use the full path so you ensure you are using the correct version.
-
wrote on 26 May 2016, 22:01 last edited by
That is what I did for qmake I typed <path to>/qt.5.3.2/qtbase/qmake *.pro. Any other ideas for me to try or information I can give to see how to get this working.
-
What do you have in your cross-compiled
qt5/qtbase/mkspecs/modules/
folder ? -
wrote on 27 May 2016, 21:22 last edited by
I have 27 files in there not sure if you want me to list them all, but I don't see anything in here for the qtuittools I will list the ones that tool in the file name. All the files have the prefix of (qt_tool_) moc, qdoc, dlalr, rcc, syncqt, uic.
-
Looks like there's something fishy then. Take a look at the output of the
make install
command to see where everything is put. -
wrote on 31 May 2016, 16:07 last edited by
It looks like it is putting the files in the usr/local location instead of the location of the qt5 source can I change this or should I just copy all the files. I copied files from qttools/lib to qtbase/lib qttools/include to qtbase/include. I am not sure if I have everything in the right place because I now get a new error.
/linux-cortexm-1.14.2/tools/arm-2010q1/arm-uclinuxeabi/bin/elf2flt: error: text=0x4d6ca0 overlaps data=0x4d66e4 ?
collect2: ld returned 1 exit status
make: *** [demo_prj] Error 1 -
Check that you are using the right qmake when cross-compiling.
1/22