Impossible to create kit 32 bit on Linux 64 bit for architecture incompatibility
-
Hi all,
I can’t create a kit Qt 4.8.7 32 bit for architecture incompatibility on Linux 64 bit, at least so the QtCreator says, but I don’t’ why.Here you can see the message
Apparently the message contradicts itself, Qt and compiler seem both be x86-linux-generic-elf-32bit.
Someone can say where I wrong
Thank you in advance for your help
CP71 -
C Christian Ehrlicher moved this topic from General and Desktop on
-
@CP71
Hello everyone, I have finally found the solution, and it turned out to be simpler than I had expected.The best way is to create 2 items in Compilers tab, one for C and one for C++, on both add:
Platform codegen flag : -m32 Platform linker flag : -m32
-
I would call qmake and the compiler on the command line to see what's wrong.
-
@Christian-Ehrlicher
Thank you very much for your fast answer.
Exactly what parameters do I have to pass to qmake and compiler to do this check?For compiler I have set these parameters
for qmake the “file ./qmake” output is:
./qmake: ELF 32-bit LSB pie executable, Intel 80386, version 1 (GNU/Linux), dynamically linked, interpreter /lib/ld-linux.so.2, BuildID[sha1]=ca87b38f393fa38f62d40601580b9c179bb45967, for GNU/Linux 3.2.0, stripped
But I’m not sure it is exactly what you suggest me to do
-
You should call qmake from qt4.8 to create the Makefile out of the pro to see if you can build against Qt4.8 on the command line.
-
@Christian-Ehrlicher
Ok,
I have tried your tip, I have done:- Create a simple Qt project
- I have run qmake 4.8 “qmake ./myprofile.pro”
- qmake has created the makefile
- I have called make
- make has created an executable
- I have run the my executable without problem
-
@Christian-Ehrlicher
the "file ./mysamplefile" says it is a 32 bit program -
Ok, looks all fine. Can't test it here since I've no 32bit anymore anywhere. Maybe selecting the ABI directly instead using <custom> helps?
-
@Christian-Ehrlicher
Thank you so much for your help -
@CP71
Hello everyone, I have finally found the solution, and it turned out to be simpler than I had expected.The best way is to create 2 items in Compilers tab, one for C and one for C++, on both add:
Platform codegen flag : -m32 Platform linker flag : -m32
-
C CP71 has marked this topic as solved on