首页 > 解决方案 > Fortran 错误:/var/folders/df/btj2wstn58xf0yrmq9n65ybc0000gn/T//ccLHoofN.s:12187:2:错误:重定位中不支持的符号修饰符

问题描述

我在编译 Fortran 脚本时出错。完整的错误如下所示。

/var/folders/df/btj2wstn58xf0yrmq9n65ybc0000gn/T//ccLHoofN.s:12187:2: error: unsupported symbol modifier in relocation
        movabsq $24044020+_ml_ret.5599@GOTOFF, %rdx
        ^

我找到了错误发生的位置,但我不明白为什么。下面是我正在使用的脚本示例。

      real ml_ret(nx_max,ny_max,nz_max)
      real ml_ret_z(nz_max)

      do j=1,ny
        do i=1,nx
           do k=1,nz_max
              ml_ret_z(k) = ml_ret(i,j,k)
           enddo

          CALL SNOWPACK_CORE(ml_ret_z)

          do k=1,nz_max
            ml_ret(i,j,k) = ml_ret_z(k)
          enddo
        enddo
      enddo

一切都编译并运行,除非我添加第二个 k do 循环。在构建数组或将值填充到数组中时,我是否遗漏了什么?

我正在使用 gfortran 并在 MacBook Pro OS 10.15.5 上运行它

任何信息将不胜感激。

标签: arraysfortran

解决方案


推荐阅读