Unsolved can we change the compiler in qmake
-
here is the kit:
-
@asha Yes, the Qt version you selected can't be used with an ARM compiler.
Cross compile Qt and set that one in the Kit. -
Hi,
I downloaded the qt source code,
"qt-everywhere-opensource-src-5.7.1.tar.gz"
now trying to build this,here is the attachement ,
is it correct?(because I am feeling like that again i am building the qt for linux-g++ only)
-
@asha
what was your./configure
command? -
here is the attachement
-
Hi,
From the looks of it, you're not telling configure that you want to cross-compile.
-
Hi,
Thanks for the replay,please see the below attachement ,and please let me what is the problem, and how to solve this
-
@asha Did you read what @SGaist wrote?
You are NOT cross compiling!
You need to tell configure that you want to cross compile.
An example how to do this is here: https://www.raspberrypi.org/forums/viewtopic.php?t=204778 -
-
@asha said in can we change the compiler in qmake:
the above screenshot is for cross compiler only that is "arm-linux-gnueabihf"
Assuming that "beagle@beagle1" read from command prompt in that screenshot, it looks like you're working on your EMBEDDED DEVICE.
If so, then you are NOT cross-compiling, which whole purpose is by no means compiling in the target device.
You are supposed to only use the BBB device just to copy the cross-compiled Qt libraries and application (which are built in the host machine) and only run it there
-
Did you check that you have libz in your sysroot ?
-
@sgaist ,I checked it in qt kit configuration ,And I am not finding libz in my sysroot..
-
@pablo-j-rogina Sir,
"beagle@beagle1" is my user name, where my target device name is debian@beaglebone.I am not successed with make run only,so I am not understood this lines
"You are supposed to only use the BBB device just to copy the cross-compiled Qt libraries and application (which are built in the host machine) and only run it there"
while make running getting error some library files are missing ,Like
"error while loading shared libraries: libz.so.1: /home/beagle1/installQt/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../libexec/gcc/arm-linux-gnueabihf4.8.2/cc1plus: error while loading shared libraries: libz.so.1: cannot open shared object file:
No such file or directory".... -
One more thing ,
SELinux status is Disable in my system,
is this is issue?
-
No, the issue is that you don't seem to have zlib available for cross-compilation.
-
Hi,
can you please tell me,how to install zlib or what is next procedure to do?
-
Before starting anything, do you have good reasons to use such an old version of Qt and linaro toolchain ?
-
Hi,
qt old version is problem?if so,
now I am trying with qt 5.7.1,I downloaded qt 5.7.1 source code and arm-linux-gnueabihf-gcc 6.5.0.
And did some changes in qmake.conf file as said in this link https://forum.qt.io/topic/52546/tuto-build-qt-to-cross-compile-for-arm/47.
where I am finding my qmake.conf file in this path "/home/beagle1/Downloads/qt-everyehere-src-5.7.1/qtbase/mkspecs/linux-arm-gnueabi-g++/qmake.conf"(not finding qws directory as shown in the above link).
So, now I want to configure,but in the link they specified path " ./configure -opensource -confirm-license -prefix /usr/local/Qt-4.8.5-arm -embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++",
I am not getting specially this part "embedded arm -little-endian -no-pch -xplatform qws/linux-arm-gnueabi-g++" what it does?
How can i configure? if I just give "./configure " its configuring linux-g++ ,I want to configure with arm-linux-gnueabihf-g++.
If I give ./configure -opensource -confirm-license -prefix /usr/local/Qt-5.7.1-arm -embedded arm -little-endian -no-pch -xplatform /linux-arm-gnueabi-g++",
then getting error
"invalid command-line switch
arm:unknown argument"..not getting how do I configure...
-
Hi,
any suggestions..
-
Two:
- don't start with an outdated version of a framework
- follow a guide that targets the current version of Qt
You are following direction for Qt 4 while using Qt 5. There have been a lot of changes in between.