在 Ubuntu 中使用 QSerialport 时遇到问题
Posted
技术标签:
【中文标题】在 Ubuntu 中使用 QSerialport 时遇到问题【英文标题】:Trouble using QSerialport in Ubuntu 【发布时间】:2016-01-13 04:02:11 【问题描述】:我在我的 Mac 上用 QT creator 制作了一个完整的应用程序(经过测试和工作),现在需要将源代码移动到我的 Ubuntu 机器上并在 ubuntu 的 QT creator 中重新编译它。
这个问题是在项目打开后我在“一般消息”日志中得到这个错误
Project ERROR: Unknown module(s) in QT: serialport
所以我假设 QSerialport 不包含在 QT creator 的 ubuntu 版本中。
我尝试使用从安装 QSerialport 的教程中获得的这些终端命令自己获取它(我根本不了解 linux,这是我第一次使用它)。
git clone git://code.qt.io/qt/qtserialport.git
cd qtserialport
git checkout qt5.x.y
这就是我卡住的地方。我尝试用 'x' 和 'y' 代替每个数字,并返回找不到这样的文件。
我犯了一些简单的错误吗?有没有人必须这样做?
【问题讨论】:
【参考方案1】:你自己试试这个:
git clone git://code.qt.io/qt/qtserialport.git
mkdir qtserialport-build
cd qtserialport-build
qmake ../qtserialport/qtserialport.pro
sudo make install
【讨论】:
您好,感谢您的帮助。 sudo make install 命令给出了这个错误。compilation terminated. make[2]: *** [.obj/qserialport.o] Error 1 make[2]: Leaving directory
/home/mattpamenter/qtserialport-build/src/serialport' make[1]: *** [sub-serialport-install_subtargets] 错误2 make[1]: 离开目录/home/mattpamenter/qtserialport-build/src' make: *** [sub-src-install_subtargets] Error 2
只在“sudo make install”之前尝试“make”
这也失败了,同样的消息。
另外值得注意的是,我现在已经在我的 mac 上的 Ubuntu 虚拟机上尝试了这个。以及在迷你电脑上正常安装的 ubuntu。同样的错误。
在 Linux 系统上,您需要 libudev 来构建它,通过以下方式安装它:“apt-get install libudev-dev” 如果不起作用,请发布完整的构建错误。【参考方案2】:
在 Ubuntu 包 repo 中列出的是 libqt5serialport
包,因此它应该可用,但您可能需要手动安装该包:http://packages.ubuntu.com/trusty/libqt5serialport5
【讨论】:
【参考方案3】:找到解决方案:
如果其他人遇到此问题,请打开“维护 QT”(可在安装文件夹中找到)。选择“添加或删除组件”。在您安装的 QT 版本中,有一个名为“源组件”的子标题,在“附加组件”类别中,您需要选择 Qserialport”。然后点击下一步并安装。
此后一切正常。
【讨论】:
以上是关于在 Ubuntu 中使用 QSerialport 时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
为啥我可以在 Qt 5.5.1 中使用 QSerialPort* 作为临时变量而不是作为类的成员?