45 Star 211 Fork 103

newgolo / appkit

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README
MIT

appkit

介绍

appkit是一个具有可移植性的Linux应用开发库,其目的是为了加快应用程序的开发速度,提升应用程序的健壮性,以解放程序员的大脑和双手,让大家把精力投入到更有意义的事情当中去。

appkit提供了包括: 跟踪打印(Tracer)、线程(Thread)、协程(Coroutine)、定时器(Timer)、文件IO(File)、时间日期(DateTime)、字符串工具(StrUtil)、正则匹配(RegExp)、串口(SerialPort)、网络通信(Socket)、CAN通信(CANSocket)、GPIO控制(PinCtrl)、SPI通信(SpiDev)、插件(Pluglet)、日志(Logger)、有限状态机(FSMachine)、单元测试(CppUnitLite)等Linux应用开发中常用的模块。

在appkit项目中集成了非常多优秀的开源库: 如fmt, json, spdlog, sqlite_orm, yaml-cpp等,感谢这些开源库的作者的无私奉献!

作者

有任何问题,欢迎联系: cblock@126.com 牛咕噜大人

开源协议

本软件遵循MIT协议,请自觉遵守该协议,如果您使用此源码,请务必保留README在您的工程代码目录下!

使用说明

本工程内置zbuild编译系统,完全不依赖于ROS环境,编译方法如下:

source environ/envsetup.sh
zbuild_setup # 选择0
cd zbuild && mkdir build-x64 && cd build-x64
cmake ..
make install

也可以直接调用根目录下的脚本进行编译:

./x64-zbuild.sh

本工程也支持ROS环境下编译,默认使用catkin进行编译,编译前请安装ROS(推荐使用Noetic):

./x64-build.sh noetic

同时本工程还支持使用交叉编译工具链进行编译,交叉编译环境使用docker构建,请参考:交叉编译环境构建Dockfile

./docker_cmd.sh zbuild 	# 构建aarch64版本的非ROS应用
./docker_cmd.sh build  	# 构建aarch64版本的ROS应用

非ROS应用编译输出目录为zbuild/deploy. ROS应用编译输出目录为ws_output/deploy.

如何运行

以非ROS应用为例:

cd zbuild/deploy/linux-amd64-host
source install/setup.bash
appkit_test

参与贡献

  1. Fork 本仓库
  2. 新建 feature_xxx 分支
  3. 提交代码
  4. 新建 Pull Request
MIT License Copyright (c) 2022 newgolo Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

简介

appkit是一个基于嵌入式Linux的具有可移植性的C++程序开发框架,其目的是为了加快LInux应用程序的开发速度,解放程序员的大脑和双手,让大家把精力投入到更有意义的事情当中去。 展开 收起
C++ 等 3 种语言
MIT
取消

发行版 (2)

全部

贡献者

全部

近期动态

加载更多
不能加载更多了
C++
1
https://gitee.com/newgolo/appkit.git
git@gitee.com:newgolo/appkit.git
newgolo
appkit
appkit
master

搜索帮助