如何在fortran中更改目标机器配置?

如何在fortran中更改目标机器配置?,fortran,cross-compiling,Fortran,Cross Compiling,我正在Linux上使用英特尔Fortran编译器。我知道如果我输入“ifort-dumpmachine”,它将为编译提供目标机器配置(例如“x86_64-linux-gnu”),但如果我想为不同的操作系统(例如,不同版本的linux)编译,我需要知道如何更改此配置。“-arch”编译器选项允许您更改处理器架构,但我需要知道如何更改操作系统。交叉编译是高度依赖于处理器的东西,因此没有通用的Fortran答案。据我所知,“英特尔Fortran”仅适用于数量有限的体系结构—x86和x86-64。Lin

我正在Linux上使用英特尔Fortran编译器。我知道如果我输入“ifort-dumpmachine”,它将为编译提供目标机器配置(例如“x86_64-linux-gnu”),但如果我想为不同的操作系统(例如,不同版本的linux)编译,我需要知道如何更改此配置。“-arch”编译器选项允许您更改处理器架构,但我需要知道如何更改操作系统。

交叉编译是高度依赖于处理器的东西,因此没有通用的Fortran答案。据我所知,“英特尔Fortran”仅适用于数量有限的体系结构—x86和x86-64。Linux、Windows和OS X有单独的产品,您不能在它们之间交叉编译


您没有指定不同版本的Linux是什么意思。您应该在编译器版本手册中找到需要生成的可执行文件的内核版本。原则上,您可以针对所有此类分布。正确的英特尔运行库和glibc以及您使用的其他库也可能存在问题。您可以通过静态链接计算机上的库来解决此问题(仅对英特尔运行库使用
-static
,或
-static intel
),但请注意,它们还必须与目标体系结构兼容(特别是,如果它们需要高级指令集,如SSE(2)或AVX).

交叉编译是高度依赖处理器的东西,因此没有通用的Fortran解决方案。据我所知,“英特尔Fortran”仅适用于数量有限的体系结构—x86和x86-64。Linux、Windows和OS X有单独的产品,您不能在它们之间交叉编译

您没有指定不同版本的Linux是什么意思。您应该在编译器版本手册中找到需要生成的可执行文件的内核版本。原则上,您可以针对所有此类分布。正确的英特尔运行库和glibc以及您使用的其他库也可能存在问题。您可以通过静态链接计算机上的库来解决此问题(仅对英特尔运行库使用
-static
,或
-static intel
),但请注意,它们还必须与目标体系结构兼容(特别是,如果它们需要高级指令集,如SSE(2)或AVX)