手册目录

构建与运行

本章介绍普通项目开发使用的构建命令。

构建项目

feng build
feng build --release

可以传入项目目录或 feng.fm 路径:

feng build ./examples/hello_world
feng build ./examples/hello_world/feng.fm

调试构建保留便于调试的信息;--release 启用发布构建模式。

运行项目

feng run
feng run --release
feng run -- argument-one argument-two

run 只运行当前主机平台的 target: "bin" 项目。库项目不能直接运行。

目标平台

未在 feng.fm 声明 platform 时,不带参数的 build 默认构建主机平台。可以显式选择平台:

feng build --platform=macos-arm64
feng build --platform=linux-x64-gnu
feng build --platform=linux-arm64-musl

--platform 可重复传入。若清单已经声明平台列表,该列表同时是默认目标集合和允许列表。

Linux 平台名必须包含 gnumusl。目标标识合法并不保证当前安装拥有所需工具链或 SDK。

自定义 sysroot

单平台构建可以显式指定 sysroot:

feng build --platform=linux-x64-musl --sysroot=/opt/sysroots/musl-x64

一次指定 --sysroot 时只能构建一个平台。Feng 不会下载、复制或替用户授权第三方 SDK。

打包库

target: "lib" 项目使用:

feng pack
feng pack --platform=macos-arm64 --platform=linux-x64-gnu

pack 固定执行 release 构建,成功后在 <out>/pkg/ 生成 .fb。所有请求的平台都必须构建成功,才会产生最终包。

清理

feng clean

该命令删除当前项目清单所对应的全部构建产物。

直接编译源文件

第三方构建系统或高级场景可以直接传入源文件:

feng src/main.ff --target=bin --name=myapp --out=build

直接编译模式不读取 feng.fm,也不解析依赖树。日常项目开发应优先使用 buildruncheck