正在加载带有ctypes的.dll

2024-10-02 10:32:23 发布

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

我有一个.dll与一些其他依赖(日晷颂歌求解器).dll。我使用windows8.1和mingw来编译和链接用于.dll的c代码。当我试图用Python和ctypes加载它们时,我会弹出一个带有System error: cannot find libsundials_cvode.dll since it does not exist on the computer的弹出窗口,当你关闭弹出窗口时,Python弹出的{}无法理解这是为什么,因为gcc编译和链接文件时没有错误(是的,它们确实存在)。。。我甚至试图将依赖的dll复制到python脚本所在的目录中,但没有成功。在

我运行以下compile和linker命令,没有任何警告或错误

gcc -c -I c:\sundials\include cfile.c
gcc -shared -o clib.dll cfile.o -L. C:\sundials\instdir\lib\libsundials_cvode.dll -L. C:\sundials\instdir\lib\libsundials_nserial.dll

给出上述错误的python测试脚本是

^{pr2}$

我是gcc和c的初学者,但对Python很有经验。有什么建议吗?原因是什么?在


Tags: 代码脚本链接lib错误gccdllmingw
1条回答
网友
1楼 · 发布于 2024-10-02 10:32:23

参见维基百科Dynamic-link library

“…除非您的DLL是组件对象模型(COM)服务器,否则DLL文件必须放在PATH环境变量中列出的目录之一、默认系统目录或与使用它的程序所在的同一目录中…

因此,将C:\sundials\instdir\lib添加到路径env中。变量。在

相关问题 更多 >

    热门问题