Qtuitools compiling for uclinux
-
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 ? -
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.
-
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 ? -
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. -
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.
-
I am using the absolute path for qmake but when I do a make it is putting the include files in the usr/local/Qt-5.3.2 not the path to the folder I have installed it appears the error I am getting is the qmake is using the x86 and not the arm compilier. Is there something I can do to force the location for the qmake to go into the folders I want, or do you recommend another way to do my setup.
-
You should be using the qmake that was built when you cross-compile Qt.