Important: Please read the Qt Code of Conduct - https://forum.qt.io/topic/113070/qt-code-of-conduct
Error message: "Skipping incompatible ..." Program building
Hello everyone, I installed Qt 5.4.x and start to make a GUI program using Qt and connect the GUI to Arduino via QSerialPort.
However, I got serious problem during the deployment. The error messages are:
skipping incompatible /opt/Qt5.4.1/5.4/gcc/lib/libQt5Widgets.so when searching for -lQt5Widgets
skipping incompatible /opt/Qt5.4.1/5.4/gcc/lib/libQt5Gui.so when searching for -lQt5Gui
skipping incompatible /opt/Qt5.4.1/5.4/gcc/lib/libQt5SerialPort.so when searching for -lQt5SerialPort
skipping incompatible /opt/Qt5.4.1/5.4/gcc/lib/libQt5Core.so when searching for -lQt5Core
What are these telling us? And how to solve this problem?
Thank you in advance!
Hi and welcome to devnet
Do you have the newest version of gcc installed?
Yes, I just installed the latest GCC version 4.9. And it still shows the same errors.
Oh, And one more thing, I got another error message while doing qDebug() command. It says: undefined reference to `QDebug::~QDebug()'
What are these problems? I tried to google everything, and people says that the Qt is not compatible to the 32-bit version. Any helps? Thanks!
Are you mixing 64 bit and 32 bit linux?
I think yes. Because i tried to install the 64-bit Qt in 64 bit Ubuntu, and it does not work.
In January I have installed the Qt suite on Ubuntu 64 bit without major issues. However, I am typically working on windows. linux is more of a side track.
IIRC you can use the Qt lib version including creator as supplied with the distribution. However, this is typically behind, but it should fit with your operation system and being 64 bit.
When you are installing a new version of Qt you shall use the online installer. It should get you guided to version (64 bit in your case). The only recommendattion I can provide is to install as much through this installer. Furthermore, you should check if there parts (e.g. compiler) are installed by mistake as 32 bit.
I will flag this post possibly bringing it to the attention of someone with more sound Linux installation experience.
Hi and welcome to devnet,
The recommendations of @koahnig are a good starting point. If you are unsure about the architecture of your installed Qt libraries, run
Qt can run on both 32 and 64bit OSes, the only thing you have to take care of is installing the corresponding version.
Also, what Linux distribution are you currently running ?
Thank you for your suggestion. I think I really need to re-install my Qt version with 64-bit one. Because I installed 32-bit Qt for my 64-bit computer.
I am using Ubuntu 14.04 LTS, with GCC version 4.9, 64-bits.
Is there any other solution I can do? Because downloading Qt installer takes a long time for me. I tried the command, as @SGaist suggested, but it says about the version of Qt:
/opt/Qt5.4.1/5.4/gcc/lib/libQt5Widgets.so: symbolic link to `libQt5Widgets.so.5.4.1'
Ow, btw, i got another problem about qDebug(). It says "undefined reference to `QDebug::~QDebug()'". Any idea about this problem?
I am wondering if there is a mismatch resepctively a mix between Qt 4 and Qt5 in addition. What you are describing is really strange.
Probably it is best to remove an eventually installed Qt version (4 and 5) from repository before you install Qt5.
This post is deleted!
Not really sure though.... But the problem was solved as soon as I installed Qt Creator from Software Centre, while keeping the libraries for QtSerialPort from .run file downloaded from the website. I really guess that this is about the 64-bit and 32-bit version problem.
Thank you very much for your attention! :D