我如何设置Linux编译为Windows二进制文件的FORTRAN代码?

我正在开发一个FORTRAN项目,我想要在一台专门用于自动构build的Linux机器上构build所有我想要维护的二进制文件。 我已成功地使用mingw在Linux机器上使用以下软件包从C源代码构build32位和64位二进制文​​件。

apt-get install mingw32 apt-get install mingw-w64 

然后我运行下面的命令来实际编译:

 gcc -b amd64-mingw32msvc -V 4.4.4 -o <...other options> 

然而,我通过apt-get获得的mingw包不包括FORTRAN编译器。

任何人有什么想法,我可以做什么?

您始终可以从MinGW(-w64)项目本身下载并安装预构建的编译器:

Windows 64位: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/4.6.2-1/ Windows 32位: http:// sourceforge。净/项目/的MinGW-W64 /文件/工具链%20targetting%20Win32 /个人%20Builds / rubenvb / 4.6.2-1 /

只需解压到某个地方,然后将cross*/bin目录添加到PATH。

我包括(obj)c(++)和fortran。

如果你有mingw32和Gnu C交叉编译器正在为你工作…当为什么不只是得到Gnu Fortran交叉编译器呢?

http://www.nber.org/sys-admin/mingw32-fortran-fedora.html

 EXAMPLE apt-get install mingw32-gcc-fortran 

我知道这是一个古老的线索,但有些事情似乎已经改变,人们可能仍然对这个话题感兴趣。

问题:我想用我的linux机器编译一些代码并创建一个.exe文件,我可以使用Windows将它发送给用户。

解决方案:基本上在这里:http://mxe.cc/

我做了什么:

  • 检查你的系统是否有你需要的所有软件

git clone -b stable https://github.com/mxe/mxe.git

它会下载一些小东西,并创建目录“mxe”(可能在您的主文件夹中)

  • 进入该mxe目录并运行“make”。 但是,这将需要几个小时,并占用您的硬盘几GB,所以而是运行类似的东西

    make mpfr eigen opencsg cgal qt

有关如何缩短所有看到这个或mxe教程或其他地方的更多想法;)

  • 编译东西最简单的方法似乎是这样的:

    ~/mxe/usr/bin/i686-pc-mingw32-gfortran -c main.f95

    ~/mxe/usr/bin/i686-pc-mingw32-gfortran main.o -o outfile.exe

当然,你可以选择fortran以外的其他东西,只要查阅mxe / usr / bin就可以看到它的名字。