我有一个传感器,在他们的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
库。
答案 0 :(得分:1)
认为您需要在gcc命令中添加新的-lQtCore选项。