python37.dll_python 3.7编译的fortran pyd(dll)不工作。[winerror 1114]动态链接库(dll)初始化例程失败...

在WinServer 2012R2上,使用TDM64-GCC-5.1.0编译的Fortran模块无法在Python 3.7环境中加载,报错WinError 1114。问题可能与libgfortran_64-3.dll相关,尽管已尝试检查和解决依赖关系,但python37.dll的校验和错误仍然存在。
摘要由CSDN通过智能技术生成

我正试图帮助同事在我们的服务器上编译并运行Fortran模块。他可以在自己的机器上本地编译/运行它,但是当我尝试在xenon服务器上复制环境时,该模块不会加载到脚本中。

环境:

带Intel(R)Xeon(R)CPU E5-2697 v2的WinServer 2012R2

编译器:

tdm64-gcc-5.1.0-2.exe

(在安装时检查Fortran支持)

水蟒版本:

4.5.11条

Python版本:

python 3.7.1(默认值,2018年10月28日,08:39:03)[msc v.1912 64位(amd64)]::anaconda,inc.on win32

编译命令:

python C:\ProgramData\Anaconda3\envs\python_server\Scripts\f2py.py -m nnpx -c --fcompiler=gnu95 --compiler=mingw32 nnpx.f90 --f90flags="-mwindows -m64 -march='ivybridge' -fopenmp -lgomp"

注:

实际上,我试过很多f90旗的组合,但似乎都不是神奇的组合。

该模块看起来编译正常,并创建一个名为“nnpx.cp37-win_amd64.pyd”的文件,该文件与下面显示的测试脚本放在同一文件夹中

尝试加载模块(PYD)的测试Python脚本:

#### BEGIN Script Snippet#########################

import ctypes

import pdb

ctypes.WinDLL("nnpx.cp37-win_amd64.pyd")

#; pdb.set_trace()

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值