1

我正在尝试编译一个使用 QtSerialPort 的项目,但出现链接错误

g++ -m64 -Wl,-O1 -o eTerm main.o eterm.o tcpclient.o tcpserver.o udpserver.o serialserver.o qrc_eterm.o moc_eterm.o moc_tcpclient.o moc_tcpserver.o moc_udpserver.o moc_serialserver.o -L/ usr/X11R6/lib64 -lQt5Widgets -L/usr/lib/x86_64-linux-gnu -lQt5SerialPort -ludev -lQt5Network -lQt5Gui -lQt5Core -lGL -lpthread /usr/bin/ld: 找不到 -ludev collect2: 错误: ld 返回1 退出状态 make: *** [eTerm] 错误 1

我在 Kubuntu 14.04 下使用 QtCreator 5.2.1

udev 已安装并且是最后一个版本。我只在包含/使用 QtSerialPort 时收到此错误,其他项目一切正常。

#if QT_VERSION >= QT_VERSION_CHECK(5, 1, 0)
    #include <QtSerialPort/QtSerialPort>
#else
    #include <QSerialPort>
    #include <QSerialPortInfo>
#endif

串口是从 libqt5serialport5-dev 和 libqt5serialport5 包安装的(我有一些不成功的尝试从源代码安装它)。

有谁知道可能导致此问题的原因是什么?谢谢!

4

1 回答 1

0

尝试安装包libudev-dev。对于编译,您通常需要一个以-dev包含特殊编译文件的包结尾。没有的包-dev通常只用于运行动态链接到库的程序。

于 2017-07-26T18:47:46.263 回答