Qt serialport install linux

QtSerialPort/QSerialPort: No such file or directory

Пытаюсь подключить библиотеку #include к qt creator 4.7.8 для imx287. сделал следующие установил sudo apt-get install libqt5serialport5-dev после прописал в .pro QT += serialport Ошибка error: QtSerialPort/QSerialPort: No such file or directory

Для начала, неплохо было бы показать код, а ещё лучше — минимальный проект в архиве.

А просто QSerialPort работает?

Нет не работает error: QSerialPort: No such file or directory

Нужно походу как-то собрать для кита и потом положить хидеры в buildroot.

там есть пункт download and unpack the QtSerialPort sources в Build and install from QtCreator.

Но что нужно установить не понял.

Нужно походу как-то собрать для кита

Для какого кита? Вы используете Qt не из репозитория?

Я использую qt creator для встречаемого программирование в частности для микропроцессора imx287. Qt 4.8.7 из buildroot «buildroot/output/host/bin/qmake»

И при чём тут libqt5serialport5-dev? Ищите QtSerialPort 4.8.7 и собирайте его этим qmake.

Я как понял для этого нужно собрать библиотеку под ARM после скопировать хидеры buildroot/host/arm-buildroot-linux-gnueabi/sysroot/usr/include

но в процессе работы возникают у меня вопросы.

Источник

QtSerialPort

В продолжение этой ветки:

Возникла другая проблема — при подключении заголовочных файлов в инклудах, QtCreator не находит данных файлов #include — подчёркивает и пишет что нет такого файла или каталога, хотя при прописывании этого #include он пишет то же самое, но по кнопке выводит сообщение в дебагере.

Если просто в тупую проверить будут ли работать строки из примера

p.s. установка скомпилированных файлов прошла успешно, они находятся на своих местах.

При использовании библиотеки необходимо ее подключить в *.pro файл пользовательского проекта, это действие для Qt4 и Qt5 немного отличается:

p.s. установка скомпилированных файлов прошла успешно, они находятся на своих местах.

где именно? include_path туда точно дотягивается?

Где лежит serialport.h?

Если убрать sysroot в параметрах, то все инклуды находятся даже serialport-a, но когда начинаешь определять наследник класса, то возникает ошибка такое находится

после включения данных строк в mainwindow.cpp

  • SERIALPORTINFO_H
  • SERIALPORT_GLOBAL_H
  • SERIALPORT_H

В Вики же черным по белому написано, в примерах тоже это есть!

Если без этого макроса, то объекты будут доступны что-то типа через

спасибо помогло. Но вот не работает при компиляции такого куска

выдаёт такую ошибку: E:\Qt\Projects\first\mainwindow.cpp:-1: ошибка: undefined reference to `_imp___ZN7QtAddOn10SerialPort10SerialPort11setDataBitsENS1_8DataBitsE’

ХЗ. Удали все сгенеренные файлы и *.user файл, открой проект заново и пересобери

Я смотрю, QtSerialPort как-то тяжко идет. По поводу него ничего сказать не могу, но могу предложить использовать QextSerialPort.

Его не обязательно устанавливать в системе, достаточно просто прописать в .pro файле что-то типа

Более подробно — по ссылке.

З.Ы.: На оффтопике я его еще не пробовал.

Я смотрю, QtSerialPort как-то тяжко идет.

Как раз таки наоборот, все идет очень даже хорошо. А вот QextSerialPort туговат немного и подзаброшен.

Для QtSerialPort тоже так можно сделать. Но QtSerialPort позиционируется как shared библиотека, поэтому упор именно на это. Хотя, кто хочет — может подключить как угодно.

попробовал этот же QtSerialPort скомпилировать и запустить под кубунтой 12.04. Скомпилировалась нормально без косяков и танцев с бубнами, и даже подключить к проекту труда не составило, однако вот этот кусок кода из примера на странице руководства

Читайте также:  Windows не запоминает настройки экрана

выдаёт вот такие ошибки: /home/anton/qt/Projects/123/mainwindow.cpp:-1: ошибка: undefined reference to `QtAddOn::SerialPort::SerialPortInfo::availablePorts()’

А в треде случайно нет автора этой штуки?

Я имел в виду, что конкретно у ТСа наблюдаются некоторые сложности при работе с этой библиотекой. В связи с этим и предложил ему попробовать другой вариант.

Сам QtSerialPort не щупал, так что сказать про него ничего не могу. QextSerialPort пока вполне устраивает.

выдаёт вот такие ошибки: /home/anton/qt/Projects/123/mainwindow.cpp:-1: ошибка: undefined reference to `QtAddOn::SerialPort::SerialPortInfo::availablePorts()’

Да блин, парни, после сборки надо установить библиотеку. Убедиться что ее длл-ки лежат там где надо — в

Тем более, что примеры прекрасно линкуются с ней. Ищите у себя траблы.

KblCb
А в треде случайно нет автора этой штуки?

думаю я посмотрю его всё же

Только что проверил:

думаю я посмотрю его всё же

тогда я не понимаю откуда взялось вот это

undefined reference to `QtAddOn::SerialPort::SerialPortInfo::availablePorts()’

Удали мусор от своего проекта и пересобери снова.

Также убедись, что QtSerialPort установлен корректно, надеюсь, ты делал:

с виндой пока оставим — она на работе. Почему у меня в кубунте не работает эта штука? Консольное приложение у меня тоже компилится, только на comm socket что-то ругается в консоли, ну это может из-за того что последовательных портов у меня дома нет

вот что я получил после sudo make install [sudo] password for anton:

Источник

Qt Serial Port/ru

Использование

При использовании библиотеки необходимо ее подключить в *.pro файл пользовательского проекта, это действие для Qt4 и Qt5 немного отличается:

Подключение заголовочных файлов от QtSerialPort в пользовательский проект для Qt4 и Qt5 одинаковое: …

Использование MSVS в качестве IDE

При использовании библиотеки qserialport, нужно прописать в конфиге проекта:

  • в Configuration Properties > C/C++ > General > Additional Include Directories добавляем
  • в Configuration Properties > C/C++ > Preprocessor > Preprocessor Definitions
  • в Configuration Properties > Linker > Input > Additional Dependencies добавляем

Подключение заголовочных файлов от QtSerialPort в пользовательский проект для VS : …

Простой пример

Ниже представлен простейший пример реализации main.cpp:

int main(int argc, char *argv[]) <

// Example use SerialPortInfo

// Example use SerialPort

Генерация документации

Нет необходимости в сборке документации, потому что текущий снимок документации находится тут.

Для желающих принять участие в разработке

Вся разработка ведется через Gerrit, поэтому желающие включиться в процесс разработки должны иметь там учетную запись.

Подробнее о процессе регистрации и разработки можно прочитать здесь

Возможные проблемы

Отслеживание ошибок

  1. ↑ Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
  2. ↑ Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
  3. ↑ Perl необходим только в случае использования Qt5, подробнее см. тут. При использовании Qt4 просто пропустите этот пункт.
  4. ↑ Perl необходим только в случае использования Qt5, подробнее см. тут. При использовании Qt4 просто пропустите этот пункт.

Contents

QtSerialPort

Примечание: Эта страница в стадии разработки, требует пересмотра.

Новости

26.02.2013 — Проект перемещен из песочницы в основную ветвь Qt5!

Краткое описание

Модуль QtSerialPort — это дополнение к библиотеке Qt5, которое предоставляет единый интерфейс для работы как аппаратными, так и с виртуальными последовательными портами.

Примечание: Также добавлена поддержка и библиотеки Qt4.

Последовательный интерфейс благодаря своей простоте и надежности до сих пор популярен в промышленности, при разработке встраиваемых устройств, робототехнике и т.п.

Использование модуля QtSerialPort позволяет разработчикам значительно сократить время на реализацию Qt-приложений, требующих доступ к последовательным интерфейсам.

Читайте также:  Linux ubuntu как разделы диска

История

Модуль QtSerialPort берет свое начало из библиотеки QSerialDevice (ветка 2.0), которая недавно была перемещена в репозиторий на https://codereview.qt.io/

Это было сделано в надежде на более открытую и свободную разработку, а также на помощь сообщества, которое заинтересовано в развитии данного модуля.

Функциональность

В настоящее время API модуля содержит два класса SerialPort и SerialPortInfo.

SerialPort

Класс SerialPort является основным классом модуля и предоставляет набор основных методов и свойств для доступа к ресурсам последовательных портов.

Поддерживает следующие операционные системы:

. |. Операционная система |. Поддержка |. Примечание

Windows NT/2K/XP/Vista/7 ДА Полная поддержка Windows CE ДА Тестировалось только на 5 и 6 платформах в эмуляторе Gnu/Linux ДА Полная поддержка MacOSX ДА Полная поддержка Другие Unix ДА Все POSIX совместимые Symbian [1] ДА Частично, тестировалось только в эмуляторе (*)

SerialPortInfo

Класс SerialPortInfo является вспомогательным. Он позволяет получить информацию о имеющихся в системе последовательных портах.

Поддерживает следующие операционные системы:

. |. Операционная система |. Поддержка |. Примечание

Windows NT/2K/XP/Vista/7 ДА Полная поддержка (с использованием SetupAPI) Windows CE ДА Тестировалось только на 5 и 6 платформах в эмуляторе Gnu/Linux ДА Полная поддержка (с использованием libudev или простой перебор в /dev) MacOSX ДА Полная поддержка Другие Unix ДА Все POSIX совместимые (только простой перебор в /dev) Symbian [2] ДА Частично, тестировалось только в эмуляторе ()

Просмотр исходного кода

Недавно запущено публичное зеркало репозитория проекта на Gitorious

Теперь каждый желающий может свободно и оперативно через WEB браузер просмотреть последние изменения в исходном коде проекта.

Получение исходного кода

Для пользователей

Для получения текущего снимка исходного кода репозитория в виде архива достаточно из WEB браузера перейти по этой ссылке, загрузка начнется автоматически.

Для желающих использовать Git можно выполнить следующую команду:

Для разработчиков

Получить исходный код и внести свой вклад в разработку могут только зарегистрированные в Gerrit разработчики, используя Git (настройка Gerrit).

Получить исходный код можно так:

git clone ssh:// @codereview.qt.io:29418/qt/qtserialport.git

где username — логин зарегистрированного в Gerrit пользователя

Выбор нужной версии библиотеки

Чтобы посмотреть все существующие ветки библиотеки, нужно с помощью git выполнить следующую команду в скаченном репозитории: git branch -a Переключение в нужную ветку(например, для qt4 одна ветка) выполняется с помощью: git checkout qt4-dev

Сборка и установка

Примечание: При сборке лучше использовать «теневую сборку», когда для результатов сборки используется отдельная директория. Это позволяет оставить директорию с исходными кодами в нетронутом виде, не засоренную продуктами сборки.

Перед сборкой необходимо: установить Perl [3]

  • убедиться что корректно настроены переменные окружения:

правильно указаны пути к установленной Qt4/Qt5 правильно указаны пути к используемым компиляторам правильно указаны пути к Perl [4]

  • предварительно создать директорию для сборки которая находится на том же уровне, что и директория с исходными кодами

Источник

Qt Serial Port

En Ar Bg De El Es Fa Fi Fr Hi Hu It Ja Kn Ko Ms Nl Pl Pt Ru Sq Th Tr Uk Zh

Contents

NOTE: As of Qt 5.1, Qt Serial Port is now officially part of Qt. You no longer need to build Qt Serial Port manually; simply install Qt 5.1 or later and go to section Usage

Brief description

The QtSerialPort module is an add-on module for the Qt5 library, providing a single interface for both hardware and virtual serial ports.

Note: Also added support for Qt4.

Serial interfaces, due to their simplicity and reliability, are still popular in some industries like the development of embedded systems, robotics, etc.

Using the QtSerialPort module, developers can significantly reduce the time needed to implement Qt applications that require access to a serial interface.

Читайте также:  Меню все приложения mac os

Functionality

Currently, the module API contains two classes: QSerialPort and QSerialPortInfo.

QSerialPort

QSerialPort is the base class of the module and provides a set of basic methods and properties to access resources on serial ports.

Supports the following operating systems:

Operating system Support state Note
Windows XP/Vista/7/8/10 YES Full support
Windows CE NO (since 5.7) Tested only on 5 and 6 platforms in the emulator
Gnu/Linux YES Full support
MacOSX YES Full support
Others Unix YES All POSIX-compatible

Non-official partial Android Support (on own risk, only for rooted devices, in which is it possible to get/set a permissions to the /dev/ttyXYZ nodes) 1 2.

QSerialPortInfo

QSerialPortInfo is a helper class. It provides information on the available serial ports on the system.

Supports the following operating systems:

Operating system Support state Note
Windows XP/Vista/7/8/10 YES Full support (using SetupAPI)
Windows CE NO (since 5.7) Tested only on 5 and 6 platforms in the emulator
Gnu/Linux YES Full support (using libudev, sysfs or simple search in /dev)
MacOSX YES Full support
Others Unix YES All POSIX-compatible (only simple search in /dev)

Getting the source code

You should clone from the official mirror and track changes from there in order to keep the load on Gerrit down.

This repository contains both versions for Qt4 and Qt5.

To take the version for Qt4 it is necessary to do [1] :

$ git checkout qt4-dev

To take the version for Qt5 it is necessary to do:

$ git checkout qt5.x.y

where x and y is a versions of available branches, which can be displayed after:

Building and Installing

There are two simple methods to compile and install library using the command line or the QtCreator.

Before building you need to install Perl.

Note: Perl is required only in the case of Qt5, see here. When using Qt4 just skip this point.

Build and install from command line

Note: ensure that the environment variables are set correctly:

  • correctly specified the path to the installed Qt4/Qt5
  • correctly specified the path to use the compiler
  • correctly specified the path to Perl

The following are the recommended steps for building the QtSerialPort library for Qt4/Qt5 from the command line.

$ git clone git://code.qt.io/qt/qtserialport.git $ mkdir qtserialport-build $ cd qtserialport-build $ qmake ../qtserialport/qtserialport.pro

and next if you use GCC compiler then to do:

$ make $ make install

Note: on unix-like systems super user privileges might be required: $ sudo make install

if you use MinGW compiler then to do:

$ mingw32-make $ mingw32-make install

if you use MSVC compiler then to do:

$ nmake $ nmake install

Build and install from QtCreator

Using QtCreator is the simplest and fastest way to manually install the library. Before building you need to check that the desired toolchains (kits) of QtCreator have been correctly configured.

Recommended steps to build the QtSerialPort library for Qt4/Qt5 from QtCreator:

  • download and unpack the QtSerialPort sources
  • run QtCreator and open the root «qtserialport/qtserialport.pro» project file
  • get to «Projects->(Your Kit)->Build->Build Steps»
  • add a new make «Build Step» and write to the «Make arguments» the install target
  • from the menus, select «Rebuild Project qtserialport»

As a result, the QtSerialPort library will be automatically compiled and installed into the desired Qt instance (according to the selected Kit).

Note: on unix-like systems this method can be failed if Qt was installed into system directories. Super user privileges may be required for «install» target, so need to do: sudo make install from the shadow directory.

Usage

To use the library, add serialport to the *.pro file of your project:

Источник

Оцените статью