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

如何使用OpenModelica生成静态链接可执行文件?

在Linux下通过OpenModelica生成静态链接可执行文件的解决方案

1. 确认OpenModelica版本兼容性

请使用1.18.0及以上的稳定版本,旧版本的静态链接支持存在已知bug,升级后能规避多数兼容性问题。

2. 正确设置环境变量

之前设置OMC_LDFLAGS_LINK_TYPE未生效,通常是因为设置时机错误。需在启动omc前就导出该环境变量:

export OMC_LDFLAGS_LINK_TYPE=static

随后再执行你的.mos脚本:

omc your_script.mos

3. 在simulate函数中显式指定链接参数

在你的.mos脚本里,调用simulate时直接传入编译和链接的静态参数,强制覆盖默认配置:

simulate(
    YourModelName,
    compilerFlags="-static",
    linkFlags="-static"
);

若遇到gfortran相关的链接错误,可将linkFlags调整为"-static -static-libgfortran -static-libgcc",强制链接静态版本的gcc和fortran依赖库。

4. 安装系统静态依赖库

静态链接需要系统提供对应库的静态版本,以Debian/Ubuntu为例:

sudo apt update && sudo apt install build-essential libc6-dev libgfortran-static

CentOS/RHEL等发行版可安装glibc-static、libgfortran-static包。

5. 验证静态链接结果

生成可执行文件后,用ldd命令检查链接状态:

ldd your_model_executable

若输出not a dynamic executable,或无任何动态库路径列表,说明静态链接成功。

注意事项

  • 部分OpenModelica内置库仅提供动态版本,若模型依赖这类库,可能无法实现完全静态链接,需检查模型组件的依赖情况。
  • 静态链接生成的可执行文件体积会远大于动态链接版本,属于正常现象。

内容的提问来源于stack exchange,提问作者Michael Tiller

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 17:35:02