Библиотека
Требуется: релиз библиотеки xibridge (берется автоматически).
Описание
Библиотека - это то, что нужно компьютеру для общения с устройством по вашему протоколу. В ней реализован
API для отправки запросов контроллеру, ожидания и распознавания ответов от него. Таким образом, в этой библиотеке
нуждаются все программы, работающие с устройством, например, Qt отладчик,
скрипты, TANGO, а также ваши собственные программы.
Библиотека предоставляется в виде исходных кодов C\C++ и CMakeLists файла, с помощью которого можно создать файл
проекта для любой среды программирования (и любого компилятора C\C++). Например, можно сгенерировать проект для
Microsoft Visual Studio, Code::Blocks, GNU Makefile и пр. Для лучшего ознакомления с CMake, пожалуйста, посмотрите
официальную документацию на сайте CMake.
Инструкция по сборке CMake-проекта библиотеки
Сборка под Windows
Для сборки библиотеки выполните шаги:
- В разделе «Library» главной страницы сгенерируйте библиотеку, нажав кнопку «Generate».
- Распакуйте полученный архив.
- Запустите CMake GUI. Скачайте его с официального сайта CMake и установите,
если этого не было сделано ранее.
- Нажмите кнопку «Browse Source...» и укажите путь до папки библиотеки, сгенерированной на 1 шаге (в этой
папке находится файл CMakeLists.txt).
- Нажмите кнопку «Browse Build...» и укажите путь к папке, в которую будут перемещены сгенерированные в ходе
работы CMake файлы проекта.
- Нажмите кнопку «Configure». Откроется новое окно.
- На Windows обычно используется «Visual Studio 12 2013». Обратите внимание на разрядность (32 / 64). В
старых версиях CMake ее можно найти в общем списке после имени среды, в новых версиях - задаётся в
отдельном списке.
- Нажмите кнопку «Generate».
Теперь у вас есть файлы проекта для интересующей вас IDE/Сборщика!
- Соберите библиотеку.
Для работы библиотеки под Windows понадобятся распространяемые пакеты Visual Studio в
зависимости от версии. Пакеты для Visual Studio скачиваются с официального сайта, для VS2013, например,
здесь.
Заметьте, установщик зависит от битности системы.
- Откройте в Visual Studio сгенерированный CMake-ом файл
<имя_проекта>.sln
.
- Укажите тип сборки Release.
- В главном меню выберите BUILD -> Build solution.
- Дождитесь успешной сборки.
Сборка под Linux
Для сборки библиотеки выполните шаги:
- Установите пакеты разработчика (g++, gcc, make...) через терминал:
sudo apt-get install build-essential cmake
- Загрузите архив с библиотекой, распакуйте его.
- В директории src в распакованном архиве библиотеки запустите терминал и выполните:
cmake .
- В этой же директории выполните:
make
- В результате сборки получится библиотека .so. Чтобы ваши программы (и Qt-отладчик) находили библиотеку,
добавьте путь к библиотеке в переменную LD_LIBRARY_PATH. Например, если хотите из оболочки запустить программу,
которая использует библиотеку, наберите в командной строке:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:путь_к_директории_с_библиотекой
- Готово. Для использования библиотеки в ваших программах достаточно добавить заголовочный файл
<имя_протокола>.h
(лежит в директории с распакованным архивом библиотеки).
Сборка под macOS
- Установить средства разработки командной строки "Command Line Tools". Вы можете попробовать установить "Command Line Tools" через терминал с помощью команды:
xcode-select --install
Если установить таким образом не получается, то нужно скачать установщик с сайта Apple.
- Загрузить архив с библиотекой, распаковать его.
- В папке с исходными кодами библиотеки (в этой папке находится файл CMakeLists.txt) запустить терминал и выполнить команду:
cmake CMakeLists.txt
- В этой же директории выполнить make:
make
Документация к API
Интерфейс C библиотеки документирован в формате Doxygen. С помощью Doxygen
можно получить документ с описанием интерфейса всех C функций, стуктур данных, констант и пр. Для этого
комментарии в C библиотеке должны быть правильно оформлены (все возможности Doxygen можно посмотреть на
официальном сайте).
Сборка Doxygen документации в Linux
- Установите все необходимые пакеты для работы:
sudo apt-get install doxygen texlive-latex-base texlive-fonts-recommended texlive-fonts-extra texlive-latex-extra
- В директории с архивом сгенерированной библиотеки запустите Doxygen:
Doxygen .
- В появившейся папке latex выполните:
make
Готово, файл refman.pdf появился в директории latex.
Сборка Doxygen документации в Windows
Инструкция сборки для Windows аналогична инструкции сборки для Linux, но пакеты Doxygen и texlive нужно установить вручную.
Texlive для Windows можно взять, например, с miktex, а Doxygen – с
официального сайта проекта Doxygen.
Пример работы с библиотекой
Пусть в протоколе устройства Foo есть команда supercommand, и устройство подключено к порту 42. Тогда код на C для
вызова этой команды выглядел бы примерно так:
#include "foo.h"
device_t my_device = foo_open_device("com:\\\\.\\COM42");
foo_supercommand(my_device);
foo_close_device(&my_device);
Файл foo.h из сгенерированного uRPC архива библиотеки должен лежать рядом. Также при компиляции этого примера нужно
будет прилинковать собранную библиотеку .lib или .so.