# 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) ``` 然后就能用了