4 Star 6 Fork 4

cpp-master/cpp-solution

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

这是什么?

cpp-solution,是跨平台的C++应用项目模板。它让开发者在非常轻松地创建一个新的C++项目。

使用场景

当我们开发人员需要开发一个新的项目的时候需要搭建项目环境。搭建项目环境的时候,通过会涉及到交叉编译、引入第三方等繁琐的操作。 有了本项目,开发者就可以直接 clone 本仓库。以本仓库为模块进行修改,就可以快速搭建起新的项目环境了。

快速上手

git clone git@gitee.com:cpp-master/cpp-solution.git -b develop
cd cpp-solution;
git submodule init;
git submodule update;
make

构建完成后,输出的文件均在 platforms/host/ 目录下

  • install_files/,可执行文件、动态库文件、配置文件
  • staging_files/,库文件、头文件
  • output_files/,编译产出的中间文件,如目标文件

怎么创建一个新的项目?

如果仅仅是一个简单的可执行程序,请参考 apps/hello-world。
如果是基于 cpp-tbox 的 main 框架开发,请参考 apps/cpp-tbox-sample 的实现方法。

怎么跨平台?

当需要支持除本机平台以外的其它平台,则需要引入跨平台环境。 步骤如下:

  1. 在 platforms 路径下创建你的新平台目录,以 mips 为例,创建 mips 目录;
  2. 将 platforms/host/tools 目录复制到 platforms/mips 目录下;
  3. 对 platforms/mips/tools 下的文件进行修改
    • 对 build_env.mk 进行修改,主要修改 TOOLCHAIN_BIN_PREFIX 参数,用于指定 mips 的工具链。 如果 mips 的工具链都在 somewhere/bin/ 目录下,具都以 mips-xxx- 开头。如 gcc 为 mips-xxx-gcc,那么 TOOLCHAIN_BIN_PREFIX 则应设置成 somewhere/bin/mips-xxx-
  4. 构建时,可使用命令 make PLATFORM=misp 进行构建。

make 命令有以下参数: make [PLATFORM=xxx] [RELEASE=1] [ENABLE_ASAN=1]

  • PLATFORM=xxx,指定xxx交叉编译环境,默认为 host 本机;
  • RELEASE=1,构建发布版本,编译参数加 -O2 -Os 参数。否则构建调试版本,编译参数加 -DDEBUG=1 -O0 -ggdb,默认为调试版本;
  • ENABLE_ASAN=1,启用ASan进行运行时内存检测,默认不启用。

未来规化

  • 将3rd-party编译的目标文件与与源码文件分离开
  • 自动生成头文件依赖关系
MIT License Copyright (c) 2022 hevake 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.

简介

C++解决方案,是一个跨硬件平台的 Linux C++ 应用的沙盒式集成构建环境。 它让开发者可以轻松地实现一套代码,多平台编译。 展开 收起
README
MIT
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
C++
1
https://gitee.com/cpp-master/cpp-solution.git
git@gitee.com:cpp-master/cpp-solution.git
cpp-master
cpp-solution
cpp-solution
master

搜索帮助