Qt5未定义对`QString的引用

时间:2017-11-21 23:26:41

标签: gcc qt5 qstring

我有一个传感器,在他们的SDK中,他们正在调用QT5包。

这是用于构建程序的GCC命令gcc Main.c -o main -L../../Release -L/usr/lib/arm-linux-gnueabihf -lQt5SerialPort -lLeddarC -lLeddar -lLeddarTech -lstdc++

但在那之后我得到了这些错误:

../../Release/libLeddar.so: undefined reference to `QString::toLocal8Bit_helper(QChar const*, int)'
../../Release/libLeddarC.so: undefined reference to `QString::toUtf8_helper(QString const&)'
../../Release/libLeddarC.so: undefined reference to `__cxa_throw_bad_array_new_length@CXXABI_1.3.8'

我认为Qstring是QtCore的一部分,我厌倦了发现它添加到gcc但我发现/usr/lib/arm-linux-gnueabihf/libQtCore.so.4基本上是基于Qt4而不是5。

我在Qt5SerialPort找到了/usr/lib/arm-linux-gnueabihf的位置。但我不知道为什么我的QString收到错误 你能帮我解决这个问题吗?

当我寻找QString时,我得到了这个:

/usr/include/qt5/QtCore/QStringRef
/usr/include/qt5/QtCore/QStringData
/usr/include/qt5/QtCore/QStringBuilder
/usr/include/qt5/QtCore/QStringMatcher
/usr/include/qt5/QtCore/QStringList
/usr/include/qt5/QtCore/QStringListModel
/usr/include/qt5/QtCore/QStringDataPtr
/usr/include/qt5/QtCore/QString
/usr/include/qt5/QtCore/QStringListIterator

似乎他们在include文件夹中,但我不知道如何用GCC调用它们,因为它们不是构建*.so库。

1 个答案:

答案 0 :(得分:1)

认为您需要在gcc命令中添加新的-lQtCore选项。