Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/fortran/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Compilation Fortran编译输出到特定位置_Compilation_Fortran - Fatal编程技术网

Compilation Fortran编译输出到特定位置

Compilation Fortran编译输出到特定位置,compilation,fortran,Compilation,Fortran,我在include目录中有一个模块文件,我使用根目录中的Makefile编译它 $(FC)-c包括/my_mod.F90 编译工作正常,只是我的模块显示在根目录而不是include目录中。如何指定输出文件的位置 我使用的是linux系统,我想同时支持gfortran和ifort。谢谢@albert和@francescalus,解决方案是: ifeq ($(FC),ifort) FORTFLAGS=-module else FORTFLAGS=-J endif m

我在include目录中有一个模块文件,我使用根目录中的Makefile编译它

$(FC)-c包括/my_mod.F90

编译工作正常,只是我的模块显示在根目录而不是include目录中。如何指定输出文件的位置


我使用的是linux系统,我想同时支持gfortran和ifort。

谢谢@albert和@francescalus,解决方案是:

ifeq ($(FC),ifort)
        FORTFLAGS=-module
else
        FORTFLAGS=-J
endif

module:
        $(FC) -c include/my_mod.F90 $(FORTFLAGS) include/ -o include/my_mod.o

这将取决于您的编译器,因此请提供进一步的细节。您想控制的是
.mod
文件,而不是
.o
(同样,更改扩展名以适合您的系统)?例如,对于gfortran,您可以。可以使用一个选项指定将
.mod
文件放在何处(如果我没有弄错的话:gfortran
-J
,Intel
-module
)。
$(FC)-c include/my_mod.F90-module include/-o include/my_mod.o
非常有效!谢谢我假设我必须自己编写对gfortran/ifortran的支持(切换
-J
-module
)。