You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用Meson和Flatpak构建运行C语言项目时提示“Command 'my-app' not found”错误

使用Meson和Flatpak构建运行C语言项目时提示“Command 'my-app' not found”错误

我看到你遇到的问题了——用Flatpak打包Meson构建的C项目时,出现了Error: Command 'my-app' not found的错误,从你贴出的构建日志里,我注意到关键的一行:Nothing to install.,这就是问题的核心!

问题原因

Flatpak要求应用的可执行文件必须安装到沙箱内的/app目录下(这是Flatpak的标准前缀路径),而你的Meson配置文件里只定义了如何编译可执行文件,没有告诉Meson要把编译好的程序安装到指定位置,所以Flatpak在沙箱里找不到my-app命令。

解决方案

修改你的meson.build文件,给executable添加install: true参数,让Meson把编译好的可执行文件安装到Flatpak指定的前缀目录中:

project('my-app', 'c')

# 添加install: true参数,告诉Meson安装这个可执行文件
executable('my-app', 'main.c',
    install: true
)

如果需要更明确指定安装目录(比如确保放到/app/bin下),也可以加上install_dir参数(不过这一步是可选的,因为Meson默认会把可执行文件安装到bindir,也就是/app/bin):

project('my-app', 'c')

executable('my-app', 'main.c',
    install: true,
    install_dir: get_option('bindir')
)

验证步骤

修改完meson.build后,重新运行你之前的Flatpak构建命令:

flatpak-builder --user --install --force-clean build-dir org.flatpak.myapp.json

这次构建日志里应该会出现类似Installing my-app to /app/bin的提示,之后你就可以用以下命令正常运行你的应用了:

flatpak run org.flatpak.myapp

备注:内容来源于stack exchange,提问作者azibom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 11:28:01