我正在尝试编译一个使用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软件包安装的(我有一些不成功的试验,首先从源代码安装它。)
有谁知道可能导致此问题的原因是什么? 谢谢!
答案 0 :(得分:0)
尝试安装包libudev-dev
。对于编译,通常需要一个以-dev
结尾的包,其中包含特殊的编译文件。没有-dev
的软件包通常只用于运行动态链接到库的程序。