Проблема с QSerialPort с qtcreator на Debian - PullRequest
0 голосов
/ 23 апреля 2019

В настоящее время я пытаюсь использовать библиотеку "QSerialPort" на виртуальной машине, на которой установлен Debian, и не могу заставить ее работать. Похоже, что библиотеки прямо на моей машине не существует. Он не завершается автоматически, когда я записываю его, и когда я пытаюсь скомпилировать, я получаю это.


/home/debian/Downloads/mainmenu.h:15: error: QSerialPort: No such file or directory
 #include <QSerialPort>
                       ^

Так что я уверен, что у меня просто нет библиотеки. Хотя моя версия Qt, как говорят, имеет ее.

-Qt Creator 4.2.0 -На основе Qt 5.7.1 (GCC 6.3.0 20170415, 64 бит)

У меня даже есть более старая версия Qt creator в моей ОС Windows, и в ней есть библиотека.

Мне сказали, чтобы я мог получить библиотеку, выполнив следующее:

git clone git://code.qt.io/qt/qtserialport.git
mkdir qtserialport-build
cd qtserialport-build
qmake ../qtserialport/qtserialport.pro
sudo make install

но я даже не могу пройти первую строку, прежде чем получить это:

git clone git://code.qt.io/qt/qtserialport.git
Cloning into 'qtserialport'...
fatal: unable to connect to code.qt.io:

Также попытался установить пакет: libqt5serialport5 (5.2.1-1)

и это почти ничего не изменило.

Ответы [ 2 ]

0 голосов
/ 23 апреля 2019

Вам необходимо скачать и установить. Просто следуйте моим инструкциям, приведенным ниже, это поможет вам решить проблему.

Вы очень близкий человек (также пытался установить пакет: libqt5serialport5 (5.2.1-1))

1) Вы должны установить (через терминал):

sudo apt-get install libqt5serialport5
sudo apt-get install libqt5serialport5-dev

2) добавить в .pro файл

QT  += core serialport

3) в файл .h добавить:

#include <QtSerialPort/QSerialPort>
#include <QtSerialPort/QSerialPortInfo>

4) Пример информации об устройстве

 serial -> setPortName("/dev/ttyACM3"); // just example for my device
 serial -> setBaudRate(QSerialPort::Baud115200);
 serial -> setDataBits(QSerialPort::Data8);
 serial -> setParity(QSerialPort::NoParity);
 serial -> setStopBits(QSerialPort::OneStop);
 serial -> setFlowControl(QSerialPort::NoFlowControl);
 serial -> open(QIODevice::ReadWrite);

Вероятно, это лучший вариант.

0 голосов
/ 23 апреля 2019

Хорошо!Я понял.

Первая проблема - доступ к библиотеке git через брандмауэр / виртуальную машину.

Поэтому вместо использования ссылки git:

git://code.qt.io/qt-creator/qt-creator.git

я использовал ссылку http, которая работала:

http://code.qt.io/qt-creator/qt-creator.git

У меня все еще были некоторые проблемы, пока я не выполнил эти шаги(Думаю, я не загружал версию пакета разработчика):

1)
sudo apt-get install libqt5serialport5
sudo apt-get install libqt5serialport5-dev

2) add in the .pro file
QT += serialport

3) int the .h file add:
#include <QtSerialPort/QSerialPort>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...