Сборка и подключение библиотеки#
Эта библиотека использует стандарт C++ 17, поддерживает компиляторы Linux (GCC) и Windows (Visual Studio 2019/2022).
Данная библиотека имеет зависимости от:
- curl - для HTTP запросов.
- nlohmann-json - для работы с json.
- websocketpp - для websocket запросов.
Последовательность действий для сборки и подключения библиотеки:
1. Установка зависимостей
2. Настройка библиотеки
3. Сборка библиоткеки
4. Подключение библиотеки в проект
5. Работа с примерами
1. Установка зависимостей#
Клонируйте репозиторий библиотеки
git clone https://github.com/green-api/whatsapp-api-client-cpp.git
Windows#
Установка зависимостей с пакетным менеджером vcpkg
:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
bootstrap-vcpkg.bat
vcpkg install curl
vcpkg install nlohmann-json
# vcpkg install websocketpp (опционально)
vcpkg integrate install
Windows x64#
Большинство компьютеров с Windows сейчас имеют x64-разрядную версию, но по умолчанию vcpkg
использует пакеты x86.
vcpkg install nlohmann-json:x64-windows
vcpkg install curl:x64-windows
Для выполнения команд в PowerShell необходимо изменить команды на .\vcpkg
После сборки bootstrap-vcpkg.bat
требуется добавить vcpkg.exe
в переменные окружения Вашей системы PATH\vcpkg\installed\x64-windows\bin
.
Linux#
Установка зависимостей с пакетным менеджером vcpkg
:
- Зависимости
- curl
- nlohmann-json
- websocketpp (опционально)
Вы можете установить зависимости с помощью готового сценария install.sh (sudo sh install.sh
) или вручную:
git clone https://github.com/Microsoft/vcpkg.git
cd vcpkg
./bootstrap-vcpkg.sh
./vcpkg/vcpkg install curl
./vcpkg/vcpkg install nlohmann-json
# ./vcpkg install websocketpp (опционально)
./vcpkg/vcpkg integrate install
2. Настройка библиотеки#
Библиотека имеет файл конфигурации config.hpp
В файле можно указать с какими параметрами требуется собрать библиотеку:
// Ниже представленны параметры по умолчанию
#define CURL_LOG false // true/false уровень логирования используемой библиотеки cURL
#define GA_CURLOPT_TIMEOUT 60L // Общее время ожидания ответа от сервера
#define GA_CURLOPT_CONNECTTIMEOUT 15L // Время соединения с сервером
#define LOG_FILE false // Запись логов в файл log
#define LOG_CONSOLE false // Вывод логов в консоль (ошибки библиотеки выводятся в консоль всегда)
После конфигурирования необходимо собрать библиотеку с новыми параметрами
3. Сборка библиоткеки#
Windows#
Для сборки библиотеки Вам потребуется:
- CMake - кроcсплатформенная утилита для автоматической сборки программы из исходного кода.
- Компилятор Microsoft Visual C++ (MSVC) для приложений на языке C++
Сборка библиотеки осуществляется с помощью сценария build.bat или CMake вручную (компиляция Debug версии библиотеки):
mkdir build
cd build
cmake ..
cd ../
cmake --build build
Возможно при сборке Вам потребуется указать прямые пути до используемых библиотек, раскомментируйте строки в CMakeList.txt
Linux#
Сборка библиотеки осуществляется с помощью сценария build.sh (sudo sh build.sh
) или вручную:
mkdir build
cmake -S . -B build -DCMAKE_TOOLCHAIN_FILE=./vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build/
Вы можете изменить каталог vcpkg, указав относительный или абсолютный путь.
Возможно при сборке библиотеки Вам потребуется установить дополнительные пакеты:
sudo apt-get update
sudo apt-get install cmake
sudo apt-get install g++
sudo apt-get install pkg-config
sudo apt-get install libcurl4-openssl-dev
sudo apt install build-essential
4. Подключение библиотеки#
Windows#
Подключение библиотеки в Visual Studio можно сделать добавив файл библиотеки whatsapp-api-client-cpp.lib в зависимости проекта:
- Свойства->Свойства конфигурации->С/С++->Общие->Дополнительные каталоги включаемых файлов, указать файлы заголовков (папка PATH/whatsapp-api-client-cpp/include)
- Свойства->Свойства конфигурации->Компоновщик->Общие->Дополнительные каталоги библиотек, указать путь к библиотеке (папка с собранным файлом PATH/build/)
- Свойства->Свойства конфигурации->Компоновщик->Ввод->Дополнительные зависимости, указать наименование фаила библиотеки (whatsapp-api-client-cpp.lib)
Внимательно выбирайте тип Вашей конфигурации и подключайте необходимую версию библиотеки (debug и release)
5. Работа с примерами#
Примеры использования методов собранны в папке examples, каждый из файлов примера содержит примеры всех методов библиотеки со всеми параметрами, которые поддерживает конкретный метод.
Для запуска конкретного примера необходимо производить копирование кода примера в ваш рабочий фаил main.cpp и параметризировать метод вашими значениями.