使用Fortran的Python模块:LNK1112“模块计算机类型”X86“与目标计算机类型”x64“冲突”`

2024-09-30 14:19:31 发布

您现在位置:Python中文网/ 问答频道 /正文

所以最近我学习了一套关于编程、编译和其他工作原理的绝对堆栈,但这有点超出了我的深度。目前,我正在尝试安装pyigrf12,这样我就有了在Python中使用IGRF的方法(我大部分的工作都是在Python中完成的)。我的第一个问题是,因为这个模型是用Fortran开发的,所以要找到一个合适的编译器。我用MinGW安装了g77和gfortran等等。在

每个编译器给我不同的错误。什么时候设置.py默认使用g77,在这个过程中,由于“分配表单无效…”错误,我收到了“FailedwithExitStatus1”。所以我重命名了g77.exe二进制文件以便设置.py被迫使用gfortran.exe文件(我不确定如何指定要使用哪个编译器,这只是命令行)。在

这个编译器进一步完成了这个过程,但最终以“failed with exit status 1112”终止。通过查看输出,编译器似乎遇到了“致命错误LNK1112:模块计算机类型‘X86’与目标计算机类型‘x64’冲突”。在谷歌上搜索这个错误时,我遇到了几个关于这个问题的论坛。proposed solution in each case似乎假设我使用的是visualstudio环境,可以通过单击来更改'/机器:IX86'旗帜。在

这看起来很简单,但是可以在命令行中完成吗?如果是,怎么办?目前我所做的就是运行设置.py脚本是

python setup.py develop

在命令提示符下(我在Windows机器上)。任何帮助将不胜感激!在

编辑:我所写的全部输出如下。请注意,我没有对任何内容进行任何更改—到目前为止,我唯一能控制的就是编译器。其他一切都是pyigrf的一部分。虽然在这个模块的编译过程中似乎确实存在一些问题,但我想知道是否有办法解决它。因为它看起来像是一面旗帜。。。我不确定。真的希望奇迹出现。这里是:

^{pr2}$

Tags: 模块文件命令行py机器类型编译器过程
1条回答
网友
1楼 · 发布于 2024-09-30 14:19:31

从日志中我发现您安装了一个32位版本的gfortran。您需要64位版本才能与工具链的其他部分兼容。在

确保执行:gfortran -v并检查版本信息。在

相关问题 更多 >