QT. Установка библиотеки QTSerialPort.

Мы уже много раз рассматривали модуль USART различных микроконтроллеров, связывали их с компьютером, но компьютерную часть их взаимодействия пока не трогали. И вот пришло время об этом наконец-то поговорить ) Итак, в ближайшее время мы будем разбираться, как получить данные от какого-либо внешнего устройства на ПК через com-порт, как их обработать и, если надо, отправить дальше.

В качестве инструмента мы будем применять уже упоминавшиеся на нашем сайте библиотеки QT (вот тут) и среду программирования QT Creator. Но в стандартных библиотеках, поставляющихся вместе с QT Creator, не реализован механизм приема/передачи данных по последовательному порту, поэтому нам придется озадачиться поиском какой-то специально для этого созданной библиотеки. Из всего, что я встречал на просторах интернета, мне приглянулся модуль QTSerialPort, реализующий как раз таки интерфейс для работы с последовательными портами, причем как с аппаратными, так и с виртуальными. Вот тут можно прочитать немножко про это дополнение к библиотекам QT — QTSerialPort— ну и скачать тут тоже можно (и нужно 😉 ).

И сегодняшняя статья будет посвящена установке этой библиотеки. Казалось бы, на официальном сайте установка библиотеки QTSerialPort описана настолько подробно, насколько вообще возможно, но все-таки есть ряд граблей, на которые можно наступить. Собственно, поэтому сейчас мы рассмотрим наиподробнейший процесс установки =)

Шаг первый.

Скачиваем архив qt-qtserialport-HEAD с сайта, приведенного выше. Этот шаг даже комментировать больше не надо, так что двигаемся дальше )

Шаг второй.

Надо добавить необходимые пути в системные переменные среды. Для этого жмем правой кнопкой на «Мой компьютер» и заходим в свойства. Далее заходим в дополнительные параметры системы, открывается новое окошко с разными свойствами, и там внизу есть кнопка «Переменные среды». Она то нам и нужна, так что смело жмем. В системных переменных находим Path:
Настройка QT
И добавляем туда следующее:

C:\QtSDK\Desktop\Qt\4.8.1\mingw\bin\;C:\QtSDK\mingw\bin\;C:\QtSDK\Desktop\Qt\4.8.1\

Соответственно путь к установленному QT Creator’у у каждого свой. У меня вот — C:\QtSDK………

Шаг третий.

Скопируем куда-нибудь скачанную и распакованную папку qt-qtserialport-HEAD, пути к ней не должны содержать русских букв. Это важно ) Я скопировал в корень диска С.

Лезем в эту папку и довольно быстро натыкаемся на подпапку src. В ней я создал директорию для сборки — serialport-build.

Шаг четвертый.

В меню пуск находим QtSDK, но не запускаем а копаемся там дальше и находим в папке Desktop (все еще в меню пуск) Qt 4.8.1 for Desktop (MinGW). Этот ярлык и надо запустить. Открывается привычная командная строка.

Шаг пятый.

В командной строке переходим в директорию serialport-build, для этого вводим две команды:

—   для перехода в корень диска С: cd/
— для перехода в нужную папку используется та же команда cd и соответствующий путь, как на картинках
Установка библиотеки
Установка библиотеки QTSerialPort

Далее необходимо ввести команду qmake ../serialport/serialport.pro
Библиотеки QTSerialPort

Осталось совсем немного, вводим команду: mingw32-make

Немножко ждем и пишем: mingw32-make install

Шаг шестой.

В скачанном архиве находим папку qt4support. Тут нас интересует файл serialport.prf. Копируем его вот сюда: С:/QtSDK/Desktop/Qt/4.8.1/mingw/mkspecs/features/serialport.prf

Шаг седьмой.

Запускаем QTCreator. Попробуем собрать какой-нибудь пример из поставляющихся вместе с библиотекой QTSerialPort. Жмем открыть проект и выбираем например проект Enumerator (Все примеры свалены в папку Examples). В самом QT Creator’е открываем файл enumerator.pro и дописываем в конец две строки:

CONFIG += serialport
LIBS += -lserialport

Вот как выглядит весь файл:

greaterThan(QT_MAJOR_VERSION, 4) {
QT += widgets serialport
} else {
include($$QTSERIALPORT_PROJECT_ROOT/src/serialport/qt4support/serialport.prf)
}
TARGET = enumerator 
TEMPLATE = app 
SOURCES += \ main.cpp
 
CONFIG += serialport 
LIBS += -lserialport

После этого уже можно смело собирать проект и, если все описанное осуществлено верно, программа соберется и запустится )

Вот на этом, собственно, и все, инструкция по установке библиотеки QTSerialPort готова!

Архив с библиотекой — qt-qtserialport

Понравилась статья? Поделись с друзьями!

QT. Установка библиотеки QTSerialPort.: 20 комментариев
  1. 0. Добавлять переменные окружения глобально — плохая идея. Лучше этого не делать вообще (при сборке из QtCreator) или делать локально в cmd.exe.

    1. Шаг 6 не нужен. Оно само скопируется в mkspecs при установке.

    2. Делать LIBS += -lserialport не надо. Оно слинкуется при указании CONFIG += serialport.

    3. Делать include($$QTSERIALPORT_PROJECT_ROOT/src/serialport/qt4support/serialport.prf) тоже не надо. Это сделано только для того чтобы скомпилировались примеры которые идут с библиотекой.

    4. Собрать и установить библиотеку можно из QtCreator, просто добавив на вкладке «Проекты» для текущего проекта новую Make цель «install». Теперь при сборке оно должно само собераться и установиться автоматом.

    • Спасибо за советы ) Не мой профиль — приложения для ПК, поэтому реально очень благодарен за конструктивную критику)

  2. Сделал,как вы написали, но на последнем шаге выводит ошибку «Could not find any sync.profile for your module!». Потом указывает путь на файл syncqt.bat но он там есть. Не знаете в чем может быть причина?

  3. Уважаемый Aveal, не могу понять где все-таки скачать архив на шаге 1? Не могли бы Вы в соответствии с замечаниями от kuzulis еще раз подробно все изложить. Заранее благодарен.

    • По поводу архива — тоже не смог сейчас скачать, это уже вопрос к разработчикам библиотеки. По поводу установки — я по-прежнему делаю по своей последовательности, все работает.

  4. Уважаемый Aveal, никак не могу скачать архив о котором вы говорите в шаге 1! Не могли бы вы скинуть свой архив по e-mail. Заранее спасибо!

    • Я не знаю, кстати, как там продвигается развитие проекта QTSerialPort, может есть какие-нибудь новые версии библиотеки. Я выложил ту, которой сам пользуюсь, но скачивал я ее пару лет назад )

  5. Спасибо Вам большое за статью — до сих пор актуально. Сижу на ХР новые qt не ставятся так, что приходится юзать QT 4.8, и отдельное спасибо за библиотеку — найти уже нигде невозможно.

  6. С новыми версиями реально какая-то иногда засада, а вообще я просто подрубаю такие библиотеки динамически или можно установщик замутить. Спасибо за полезную статейку!

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *