0

我想将几个模块放在一个文件夹中,并将程序存储在另一个文件夹中。当尝试生成我在控制台中写入的 a.out 文件时

    ifort  test.f90  -I~/Fortran/modulos/

test.f90 使用之前在modulos文件夹中编译的 grn 模块。这不运行我得到了以下

test.f90(5): error #7002: 打开编译模块文件时出错。检查包含路径。[GRN]

我究竟做错了什么?。我在 Ubuntu 中使用 intel fortran :(

好的,我将添加一些细节。我的模块是这样的:

    module grn
    contains
    !gaussian random number generator
    subroutine gaussian_rng ( rannumb )
    implicit none
    double precision , intent ( out ) ::rannumb
    blah blah....
    end subroutine gaussian_rng
    end module grn

这是通过命令 ifort -c gaussgen.f90 在我的文件夹“模数”中编译的,然后创建相应的 .mod 和 .o 文件,然后在我的文件夹“程序”中我有一个名为 test.f90

    Program testOrdeningAndStatistics
    use grn
    Implicit None
    Real (Kind(0.d0)):: x
    blah blah ...
    call gaussian_rng(x)
    blah blah ...
    end Program testOrdeningAndStatistics

我想用这些生成可执行文件。这个想法很简单,我想将程序和模块存储在单独的文件夹中。

4

2 回答 2

1

问题是,该~字符没有解析到您的主文件夹中,因为外壳程序只会替换它,如果它停留在单词的开头。因此,要么在选项和路径之间插入一个空格:

ifort  test.f90  -I ~/Fortran/modulos/

或写完整路径:

ifort  test.f90  -I/home/yourusername/Fortran/modulos/

两者都适用于 ifort 12.1.0。

于 2013-06-08T18:56:12.490 回答
0

您可能需要链接与模块关联的目标文件 .o。如果您可以发布源代码和编译程序的简单示例,则更容易理解您做错了什么。

于 2013-06-08T15:34:13.077 回答