云引擎 C++ 运行环境
info
这篇文档是针对 C++ 运行环境的深入介绍,如希望快速地开始使用云引擎,请查看 快速开始部署云引擎应用。
云引擎目前支持构建使用 Bazel 或 Makefile(CMake)的项目。
C++ 运行环境提供的编译器是 GCC 9.4。
Bazel 项目
如果项目根目录存在 WORKSPACE,云引擎会默认使用 bazel build -c opt //:all 构建,bazel run -c opt //:all 来运行。
Makefile(CMake)项目
如果项目根目录存在 Makefile,云引擎会使用 make 构建。
如果项目根目录存在 CMakeLists.txt,云引擎会先使用 cmake . 来生成 Makefile。
Makefile 项目没有默认的运行命令,需要在 leanengine.yaml 中自行设置运行命令:
leanengine.yaml
run: ./myapp
上传预编译的程序
你也可以选择预先编译好 binary 再上传到云引擎,我们建议在 Ubuntu 20.04 的环境下编译静态链接。
然后在 leanengine.yaml 中自行设置运行命令:
leanengine.yaml
runtime: cpp
run: ./myapp
info
云引擎的构建环境(如发行版版本)可能会发生变化,届时可能需要调整编译参数,但已在云引擎构建好的版本会将所有运行环境固化下来,可供持续运行或随时回滚。
自定义构建过程
除了默认的构建过程和运行命令外,开发者还可以在 leanengine.yaml 中进一步地调整运行命令(run)、依赖安装命令(install)和构建命令(build),覆盖默认的行为:
leanengine.yaml
run: echo 'run another command'
install:
- {use: 'default'}
- echo 'install additional dependencies here'
build:
- echo 'overwrite default build command here'
详细的说明见 Reference: leanengine.yaml
。