- QtSerialPort/QSerialPort: No such file or directory
- QtSerialPort
- Qt Serial Port/ru
- Использование
- Использование MSVS в качестве IDE
- Простой пример
- Генерация документации
- Для желающих принять участие в разработке
- Возможные проблемы
- Отслеживание ошибок
- Contents
- QtSerialPort
- Новости
- Краткое описание
- История
- Функциональность
- SerialPort
- SerialPortInfo
- Просмотр исходного кода
- Получение исходного кода
- Для пользователей
- Для разработчиков
- Выбор нужной версии библиотеки
- Сборка и установка
- Qt Serial Port
- Contents
- Brief description
- Functionality
- QSerialPort
- QSerialPortInfo
- Getting the source code
- Building and Installing
- Build and install from command line
- Build and install from QtCreator
- Usage
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. Скомпилировалась нормально без косяков и танцев с бубнами, и даже подключить к проекту труда не составило, однако вот этот кусок кода из примера на странице руководства
выдаёт вот такие ошибки: /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, поэтому желающие включиться в процесс разработки должны иметь там учетную запись.
Подробнее о процессе регистрации и разработки можно прочитать здесь
Возможные проблемы
Отслеживание ошибок
- ↑ Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
- ↑ Для OS Symbian разработка модуля приостановлена в связи с отсутствием разработчиков, а также с тем фактом, что Nokia отказалась от этой платформы и не будет включать ее поддержку в Qt5._
- ↑ Perl необходим только в случае использования Qt5, подробнее см. тут. При использовании Qt4 просто пропустите этот пункт.
- ↑ Perl необходим только в случае использования Qt5, подробнее см. тут. При использовании Qt4 просто пропустите этот пункт.
Contents
QtSerialPort
Примечание: Эта страница в стадии разработки, требует пересмотра.
Новости
26.02.2013 — Проект перемещен из песочницы в основную ветвь Qt5!
Краткое описание
Модуль QtSerialPort — это дополнение к библиотеке Qt5, которое предоставляет единый интерфейс для работы как аппаратными, так и с виртуальными последовательными портами.
Примечание: Также добавлена поддержка и библиотеки Qt4.
Последовательный интерфейс благодаря своей простоте и надежности до сих пор популярен в промышленности, при разработке встраиваемых устройств, робототехнике и т.п.
Использование модуля QtSerialPort позволяет разработчикам значительно сократить время на реализацию Qt-приложений, требующих доступ к последовательным интерфейсам.
История
Модуль QtSerialPort берет свое начало из библиотеки QSerialDevice (ветка 2.0), которая недавно была перемещена в репозиторий на https://codereview.qt.io/
Это было сделано в надежде на более открытую и свободную разработку, а также на помощь сообщества, которое заинтересовано в развитии данного модуля.
Функциональность
В настоящее время API модуля содержит два класса SerialPort и SerialPortInfo.
SerialPort
Класс SerialPort является основным классом модуля и предоставляет набор основных методов и свойств для доступа к ресурсам последовательных портов.
Поддерживает следующие операционные системы:
SerialPortInfo
Класс SerialPortInfo является вспомогательным. Он позволяет получить информацию о имеющихся в системе последовательных портах.
Поддерживает следующие операционные системы:
Просмотр исходного кода
Недавно запущено публичное зеркало репозитория проекта на 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.
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:
Источник