sdbusplus:安装

sdbusplus用于开发dbus的c++库,安装起来步骤如下:

  1. git clone https://github.com/openbmc/sdbusplus.git

  1. 安装meson,meson是基于python的编译打包工具,安装方法:

sudo pip3 install meson

可以参考官方文档:

获取Meson (mesonbuild.com)
  1. 安装python 模块

pip3 install inflection

pip3 install pyyaml

pip3 install mako

  1. 安装ninja

sudo apt install ninja-build

  1. 进入sdbusplus目录

cd sdbusplus

  1. 执行meson build -Dtests=disabled

-Dtests=disabled用于取消对test的编译,否则会在线下载(经常失败)

还可以添加参数-Dexamples=disabled用于取消对例子的编译,不过例子还是有些参考价值的

  1. cd build

  1. ninja

我这边会遇到编译错误,类似于:

../include/sdbusplus/bus/match.hpp:191:30: error: invalid return type ‘std::string’ {aka ‘std::__cxx11::basic_string’} of ‘constexpr’ function ‘constexpr std::string sdbusplus::bus::match::rules::interfacesAdded(std::string_view)’
191 | inline constexpr std::string interfacesAdded(std::string_view p) noexcept

将代码回退后不再有编译错误:

git reset 1d319d972a9d9ed1a97f9239a51f5260ffc97858 --hard
  1. ninja install完成安装,安装后

头文件位于:/usr/local/include/sdbusplus

库文件位于:/usr/local/lib/x86_64-linux-gnu/libsdbusplus.so

编译好的例子程序位于:sdbusplus/build/example

你可能感兴趣的:(#,sdbusplus,linux)