# smbus-cpp
**Repository Path**: PlumBlossomMaid/smbus-cpp
## Basic Information
- **Project Name**: smbus-cpp
- **Description**: py-smbus的C++实现,https://github.com/Gadgetoid/py-smbus/的C++版本
- **Primary Language**: C++
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-10-10
- **Last Updated**: 2024-10-10
## Categories & Tags
**Categories**: Uncategorized
**Tags**: 树莓派, Raspberry-pi
## README
#
smbus-cpp
[English](./README.en.md) | 简体中文
根据[python-smbus](http://www.lm-sensors.org/browser/i2c-tools/trunk/py-smbus/)改编的C++版本。
作者写这个项目是因为在做树莓派作业时发现没有对应的C++版本所以根据SVS(歌声和成)圈子内由[开源皇帝](https://github.com/OpenSourceEmperorQuotationsBot)提出的`谁提谁做`的原则自己搞了个对应实现。
作者没有一块属于自己的树莓派板子,所以作者在自己的作业结束之后没有办法继续调试这个库。如果有bug欢迎提交PR,但如果你提交bug相关的issue的话作者可能会不知道如何去修复它,因为作者没有办法去调试这个项目了。QAQ
## 使用方法
### 安装依赖
首先安装`i2c-dev`
这很重要,因为smbus-cpp库依赖它。
```bash
# 玩树莓派的一般都有对自己的板子的绝对控制权吧?
# 运行该指令安装i2c-dev
sudo apt-get install libi2c-dev
```
### 克隆本仓库
使用`git`工具克隆这个仓库
```bash
git clone https://gitee.com/PlumBlossomMaid/smbus-cpp.git
```
你的目录下将会多一个文件夹`smbus-cpp`
### 编译该项目
- 使用CMake编译静态链接库
```bash
cd smbus-cpp # 进入项目路径下
mkdir build && cd build # 新建一个构建路径并且进入
cmake .. && make # 执行编译生成静态链接库
make install # 安装作者的库(*^▽^*)
```
运行上述命令之后你就可以使用作者的库了(✪ω✪)
假设你新建了一个`test.cpp`文件并且内容如下:
```cpp
#include "SMBus.h"
int main()
{
auto bus = SMBus(1);
return 0;
}
```
想要编译该文件进行测试你可以运行如下指令:
```bash
g++ test.cpp -o /dev/null -L/usr/local/lib -lsmbus-cpp -li2c
```
没有报错,成功~
- 通过make指令直接安装
```bash
cd smbus-cpp # 进入项目路径下
make # 执行编译生成静态链接库
make install # 安装作者的库(*^▽^*)
```
运行上述命令之后你就可以使用作者的库了(✪ω✪)
- 使用CMake将本项目作为你的项目的依赖
在你的CMakeLists.txt里面添加这三句话:
```cmake
add_subdirectory(smbus-cpp)
include_directories(${CMAKE_SOURCE_DIR}/smbus-cpp)
target_link_libraries(test smbus-cpp -li2c)
```
然后就能用了