gfortran:在64位系统中编译32位可执行文件

帕姆古尔

我正在AMD Athlon(tm)64 X2双核处理器5200+×2上运行具有Linux内核3.5.0-51通用的Ubuntu 12.10(64位)。我有GNU Fortran(Ubuntu / Linaro 4.7.2-2ubuntu1)4.7.2。

我正在尝试将一些代码编译为32位可执行文件。我已经检查了所有必需的库是否已安装在系统上(我在以前在32位计算机上编译的程序上运行了ldd,并下载了缺少的软件包)。我尝试运行$ gfortran foo.f -m32 -L / lib / i386-linux-gnu,但是出现以下错误:

/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: cannot find crt1.o: No such file or directory
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.so when searching for -lgfortran
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgfortran.a when searching for -lgfortran
/usr/bin/ld: cannot find -lgfortran
/usr/bin/ld: cannot find -lm
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libquadmath.so when searching for -lquadmath
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libquadmath.a when searching for -lquadmath
/usr/bin/ld: cannot find -lquadmath
/usr/bin/ld: cannot find -lm
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: cannot find -lc
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so when searching for -lgcc_s
/usr/bin/ld: cannot find -lgcc_s
/usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc.a when searching for -lgcc
/usr/bin/ld: cannot find -lgcc
/usr/bin/ld: cannot find crtn.o: No such file or directory
collect2: returned 1 exit status

我检查了/usr/lib/gcc/i686-linux-gnu/4.7和/usr/lib/gcc/i686-linux-gnu/4.7.2目录,它们都为空。

您能帮我解决这个问题吗?我做了研究,但是这是我所能做到的。

先感谢您!

纳撒尼尔

64位库/usr/lib/gcc/x86_64-linux-gnu/...不适用于您的32位编译。您需要安装multilib编译器软件包(请参阅https://help.ubuntu.com/community/InstallingCompilers)。例如:

sudo apt-get install gfortran-multilib

现在gfortran -m32 foo.f应该可以工作了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何安装build-essential:i386以在64位系统上编译32位可执行文件?

来自分类Dev

MS Visual Studio Professional 2013-C ++可以为32位和64位操作系统编译单个可执行文件吗?

来自分类Dev

无法以32位可执行文件(在64位操作系统上)以编程方式访问EFS文件

来自分类Dev

为什么我的64位可执行文件比32位可执行文件大3倍?

来自分类Dev

64位可执行文件的运行速度低于32位版本

来自分类Dev

无法在64位Ubuntu上运行32位动态可执行文件

来自分类Dev

在64位Debian Jessie上运行32位可执行文件

来自分类Dev

如何在32位或64位配置中以编程方式运行ANY CPU .NET可执行文件?

来自分类Dev

如何在32位或64位配置中以编程方式运行ANY CPU .NET可执行文件?

来自分类Dev

如何在PowerShell中检查要安装的可执行文件是32位还是64位?

来自分类Dev

如何使用mingw-w64编译和链接32位Windows可执行文件

来自分类Dev

32位进程不支持Microsoft SharePoint。请确认您运行的是64位可执行文件

来自分类Dev

在32位和64位处理器上运行混合的mpi可执行文件

来自分类Dev

为什么64位可移植可执行文件的入口地址只有32位?

来自分类Dev

如何将64位和32位可执行文件绑定为一个?

来自分类Dev

在Ubuntu 13.10中运行32位可执行文件

来自分类Dev

在Ubuntu 13.10中运行32位可执行文件

来自分类Dev

C ++可执行文件无法在Windows 7中运行-64位不兼容

来自分类Dev

在Ubuntu中哪里可以找到IntelliJ IDEA 64位可执行文件?

来自分类Dev

将函数调用添加到64位Visual C ++可执行文件中

来自分类Dev

Ubuntu 12.02 32位打印机程序可执行文件无法在Ubuntu 14.04 64位中正常运行

来自分类Dev

在64位计算机上使用静态链接库编译与位置无关的可执行文件

来自分类Dev

在 X86-64 Ubuntu 20.04 上,为什么我的 32 位可执行文件不是?

来自分类Dev

如何将 32 位共享库(.so 文件)链接到 32 位可执行文件?

来自分类Dev

我如何在Windows PE 32位可执行文件中为代码洞穴腾出空间

来自分类Dev

正确的是,适用于64位的android sdk的可执行文件显示了一些有关32位的信息吗?

来自分类Dev

如果我们可以在64位Windows上运行32位可执行文件,为什么不能转换它?

来自分类Dev

在Windows / Linux上使用python3脚本检查可执行文件是32位还是64位

来自分类Dev

如果我们可以在64位Windows上运行32位可执行文件,为什么不能将其转换?

Related 相关文章

  1. 1

    如何安装build-essential:i386以在64位系统上编译32位可执行文件?

  2. 2

    MS Visual Studio Professional 2013-C ++可以为32位和64位操作系统编译单个可执行文件吗?

  3. 3

    无法以32位可执行文件(在64位操作系统上)以编程方式访问EFS文件

  4. 4

    为什么我的64位可执行文件比32位可执行文件大3倍?

  5. 5

    64位可执行文件的运行速度低于32位版本

  6. 6

    无法在64位Ubuntu上运行32位动态可执行文件

  7. 7

    在64位Debian Jessie上运行32位可执行文件

  8. 8

    如何在32位或64位配置中以编程方式运行ANY CPU .NET可执行文件?

  9. 9

    如何在32位或64位配置中以编程方式运行ANY CPU .NET可执行文件?

  10. 10

    如何在PowerShell中检查要安装的可执行文件是32位还是64位?

  11. 11

    如何使用mingw-w64编译和链接32位Windows可执行文件

  12. 12

    32位进程不支持Microsoft SharePoint。请确认您运行的是64位可执行文件

  13. 13

    在32位和64位处理器上运行混合的mpi可执行文件

  14. 14

    为什么64位可移植可执行文件的入口地址只有32位?

  15. 15

    如何将64位和32位可执行文件绑定为一个?

  16. 16

    在Ubuntu 13.10中运行32位可执行文件

  17. 17

    在Ubuntu 13.10中运行32位可执行文件

  18. 18

    C ++可执行文件无法在Windows 7中运行-64位不兼容

  19. 19

    在Ubuntu中哪里可以找到IntelliJ IDEA 64位可执行文件?

  20. 20

    将函数调用添加到64位Visual C ++可执行文件中

  21. 21

    Ubuntu 12.02 32位打印机程序可执行文件无法在Ubuntu 14.04 64位中正常运行

  22. 22

    在64位计算机上使用静态链接库编译与位置无关的可执行文件

  23. 23

    在 X86-64 Ubuntu 20.04 上,为什么我的 32 位可执行文件不是?

  24. 24

    如何将 32 位共享库(.so 文件)链接到 32 位可执行文件?

  25. 25

    我如何在Windows PE 32位可执行文件中为代码洞穴腾出空间

  26. 26

    正确的是,适用于64位的android sdk的可执行文件显示了一些有关32位的信息吗?

  27. 27

    如果我们可以在64位Windows上运行32位可执行文件,为什么不能转换它?

  28. 28

    在Windows / Linux上使用python3脚本检查可执行文件是32位还是64位

  29. 29

    如果我们可以在64位Windows上运行32位可执行文件,为什么不能将其转换?

热门标签

归档