CPP-REST-SDK в Centos 7

78
7

У меня есть CentOS 7 (зарегистрирован EPEL-Repo), но я не нашел пакет для CPP-REST (libcpprest-dev в Debian) в репозиториях.

Нужно ли устанавливать его из ванили или есть пакет в CentOS?

Благодарю!

спросил(а) 2021-01-19T17:20:36+03:00 6 месяцев, 1 неделя назад
1
Решение
89

Короткий ответ...

В настоящее время нет официального пакета CentOS 7 (2018-10-03) для cpprestsdk (libcpprest-dev в Debian).

Длинный ответ (поделиться этим на случай, если это кому-нибудь поможет)...

Вы можете собрать cpprestsdk из исходного кода, но инструкции "Как собрать для Linux" (https://github.com/Microsoft/cpprestsdk/wiki/How-to-build-for-Linux) не включают CentOS или RHEL (в время написания этой статьи, 2018-10-03).

Перед сборкой cpprestsdk в CentOS 7 вам необходимо обновить boost (на момент написания этой статьи в репозиториях CentOS 7 было boost 1.53, но требуется 1.54, а самое последнее - 1.68). Вы можете сделать это для обновления (используя boost 1.68 в качестве примера):

cd && wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
tar -xzvf boost_1_68_0.tar.gz
cd ~/boost_1_68_0
./bootstrap.sh --prefix=/opt/boost
sudo ./b2 install --prefix=/opt/boost --with=all

После обновления boost я смог собрать cpprestsdk на CentOS 7 следующим образом...

Установите некоторые необходимые инструменты/библиотеки:

sudo yum -y install git cmake3 openssl-devel gcc-c++ make

Загрузите проект cpprestsdk:

git clone https://github.com/Microsoft/cpprestsdk.git casablanca

cpprestsdk хочет рассматривать предупреждения как ошибки. Мне пришлось отключить это, закомментировав эту строку в ~/casablanca/Release/CMakeLists.txt:

#set(WERROR ON CACHE BOOL "Treat Warnings as Errors.")

Подготовить/собрать проект cpprestsdk:

cd casablanca/Release
mkdir build.release && cd build.release
cmake3 .. -DCMAKE_BUILD_TYPE=Release -DBOOST_ROOT=/opt/boost
make

Установить заголовочные файлы и библиотеку

sudo make install

Обратите внимание, что я звоню cmake3 (не cmake), и я указываю усиление root; которая отличается от официальных инструкций, написанных и протестированных для Ubuntu (не CentOS или RHEL). Чтобы собрать мои проекты с использованием cpprestsdk, мне пришлось использовать ldconfig, чтобы найти пути к библиотекам.

ответил(а) 2021-01-19T17:20:36+03:00 6 месяцев, 1 неделя назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема