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

Linux下Intel Fortran编译:仅主程序启用OpenMP的方案咨询

解决Fortran OpenMP与Pure子程序兼容的编译问题

分步编译链接的正确步骤

无需修改Pure子程序代码,按以下终端命令分步操作即可解决链接错误:

  • 编译模块文件(禁用OpenMP,避免与Pure子程序冲突):
ifort -c modules1.f90
ifort -c modules2.f90

执行后会生成modules1.o、modules2.o以及对应的模块定义文件(.mod)。

  • 编译主程序(启用OpenMP):
ifort -c -qopenmp mainprog.f90

生成mainprog.o目标文件。

  • 链接所有目标文件(必须带上OpenMP选项,确保链接OpenMP运行时库):
ifort -qopenmp modules1.o modules2.o mainprog.o -o name.out

错误原因说明

之前链接时出现undefined reference to omp_get_thread_num,是因为链接阶段未添加-qopenmp选项。ifort的-qopenmp不仅控制编译时的OpenMP语法处理,还会在链接阶段自动引入OpenMP运行时库,缺少该选项就会找不到OpenMP相关函数的实现。

关于IDE的说明

不需要安装Eclipse IDE,通过上述终端命令即可完成编译,完全无需修改现有代码。

内容的提问来源于stack exchange,提问作者1skel1

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 23:35:19