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

发布于 2024-11-29 03:20:21 字数 450 浏览 2 评论 0原文

我正在开发一个 FORTRAN 项目,我想在专门用于自动化构建的 Linux 机器上构建我想要维护的所有二进制文件。我已成功使用 mingw 在 Linux 计算机上使用 C 源代码为 Windows 计算机构建 32 位和 64 位二进制文​​件,并在 Ubuntu 上使用以下软件包。

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

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

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

但是,我通过 apt-get 获得的 mingw 软件包不包含 FORTRAN 编译器。

有人对我能做什么有什么想法吗?

I'm working on a FORTRAN project and I would like to build all of the binaries that I want to maintain on a linux machine that is dedicated for automated builds. I have successfully used mingw to build 32-bit and 64-bit binaries from C source for windows machines on the linux machine with the following packages on Ubuntu.

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

Then I run the following commands to actually compile:

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

However, the mingw packages that I've obtained via apt-get do not include FORTRAN compilers.

Anybody got any ideas on what I can do?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

阪姬 2024-12-06 03:20:21

如果您有 mingw32 并且 Gnu C 交叉编译器正在为您工作...为什么不也获得 Gnu Fortran 交叉编译器呢?

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

EXAMPLE apt-get install mingw32-gcc-fortran

if you got mingw32 and the Gnu C cross compiler is working for you ... when why not just get the Gnu Fortran cross compiler, too?

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

EXAMPLE apt-get install mingw32-gcc-fortran
浮云落日 2024-12-06 03:20:21

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

问题:我想使用我的 Linux 机器编译一些代码并创建一个 .exe,我可以将其发送给使用 Windows 的人。

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

我做了什么:

  • 检查您的系统是否拥有您需要的所有软件 这里
  • 运行

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

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

  • cd进入该 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就可以了它叫什么。

I know this is an old thread but a few things seem to have changed and people might still be interested in the topic.

Problem: I want to use my linux machine to compile some code and create a .exe that I can send to people using Windows.

Solution: Essentially here: http ://mxe.cc/

What I did:

  • Check to see if your system has all the software you need here
  • run

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

It will download a few small things and create the directory "mxe" (probably in your home folder)

  • cd into that mxe directory and run "make". HOWEVER: this would take hours and take up a few GB on your hard drive so instead run something like

    make mpfr eigen opencsg cgal qt

For more ideas on how to shorten that all see this or the mxe tutorial or somewhere else ;)

  • The easiest way to compile stuff then seems to be something like:

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

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

Of course you can chose something other than fortran, just consult the mxe/usr/bin to see what its called.

度的依靠╰つ 2024-12-06 03:20:21

您始终可以从 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.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/4.6.2-1/

只需在某处解压并添加cross*/bin 目录到 PATH。

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

You can always download and install a prebuilt compiler from the MinGW(-w64) project itself:

Windows 64-bit: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/rubenvb/4.6.2-1/
Windows 32-bit: http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/rubenvb/4.6.2-1/

Just unpack somewhere and add the cross*/bin directory to PATH.

I include (obj)c(++) and fortran.

梦一生花开无言 2024-12-06 03:20:21

在 Ubuntu 18.04 上,我使用

apt install gfortran-mingw-w64

然后使用编译器 x86_64-w64-mingw32-gfortran 代替 gfortran。如果您使用 cmake,则可以从构建目录配置编译器,如下所示:

FC=x86_64-w64-mingw32-gfortran cmake ..

On Ubuntu 18.04 I use

apt install gfortran-mingw-w64

Then use the compiler x86_64-w64-mingw32-gfortran in place of gfortran. If you're using cmake, you can configure the compiler from the build directory like so:

FC=x86_64-w64-mingw32-gfortran cmake ..
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文