首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Fortran90错误:“`push”的无效指令后缀

Fortran90错误:“`push”的无效指令后缀
EN

Stack Overflow用户
提问于 2019-09-18 12:06:32
回答 1查看 581关注 0票数 1

我正在尝试编译我的第一个fortran90程序Hello

代码语言:javascript
复制
Program Hello
Print *, "Hello World!"
End Program Hello

西格温

代码语言:javascript
复制
$ g95 -o hello hello.f90
C:\cygwin64\tmp/ccPR6KU1.s: Assembler messages:
C:\cygwin64\tmp/ccPR6KU1.s:11: Error: invalid instruction suffix for `push'
C:\cygwin64\tmp/ccPR6KU1.s:28: Error: invalid instruction suffix for `push'

从我的研究中,最常见的原因是将32位汇编代码与64位汇编程序混合,后者也被称为混合32位二进制程序和64位gcc。

但我的二进制不是32位。

代码语言:javascript
复制
$ cygcheck -c | grep binutils
binutils                                2.29-1                OK
mingw64-i686-binutils-debuginfo         2.29.1.787c9873-1     OK
mingw64-x86_64-binutils                 2.29.1.787c9873-1     OK
mingw64-x86_64-binutils-debuginfo       2.29.1.787c9873-1     OK

这意味着什么,我如何着手解决这个问题?

我尝试过的其他事情

代码语言:javascript
复制
$ g95 -o -m32 hello hello.f90
same errors as previously plus
g95.exe: hello: No such file or directory
代码语言:javascript
复制
$ gfortran -o hello hello.f90
gfortran: fatal error: -fuse-linker-plugin, but cyglto_plugin.dll not found
compilation terminated.
代码语言:javascript
复制
$  f95 hello.f90 -o hello.exe
f95: fatal error: -fuse-linker-plugin, but cyglto_plugin.dll not found
compilation terminated.
EN

回答 1

Stack Overflow用户

发布于 2019-09-19 06:24:47

找到了答案,here。原来我的gcc和gcc-fortran不是同一个版本的。

代码语言:javascript
复制
$ cygcheck -c | grep gcc
gcc-core                                7.4.0-1               OK
gcc-debuginfo                           7.4.0-1               OK
gcc-fortran                             8.3.0-1               OK

这就是我的工作

代码语言:javascript
复制
apt-cyg remove gcc-fortran
apt-cyg install gcc-fortran
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57992424

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档