1

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

4

1 回答 1

2

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

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

于 2012-08-21T07:47:22.113 回答