2 thinct thinct 于 2016.03.22 23:17 提问

为什么python使用ctypes无法加载qt生成的dll?

使用ctypes可以加载windows生成的dll,但是无法加载qt生成的dll,dll使用vs depends工具
查看,确定是已经以C语言风格导出了dll,但是ctypes加载qt生成的dll报错:找不到指定的
模块,不知道为什么?

开发环境:
window7 x86
python3.4
qt5.5

1个回答

devmiao
devmiao   Ds   Rxr 2016.03.22 23:56
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
python ctypes 调用 dll动态库小结
搞了半天,终于调用成功了,顺利把cpp文件编译成可被ctypes调用的dll文件,顺利在python中执行了dll里的函数。之前对windows的dll完全不熟悉,只知道它是windows的动态库文件,借着这次机会也稍微把它熟悉了一下。 第一:生成可被调用的dll文件 刚开始想使用cygwin生成dll文件,可是生成的dll文件每次在python中报”[153]不是有效的win32“错误,上网
当用 Python ctypes 模块调用动态链接库,如何传入一个结构体指针
最近用 dv2xvid 这个东东很多,上两周几乎每天都用它跑一个晚上压缩2个小时的视频。于是又萌发了把它改进得更通用的念头。 目前 dv2xvid 有一个很严重的问题,就是只支持 xvid-1.1.0-beta2 的压缩。而事实上目前大家用的最多的是应该都是正式版本,比如 1.0.3 或者 1.1.0 之类。如果想能支持更多版本的 xvid codec,就必须能在压缩之前判断 xvid 的版
python中使用ctypes调用MinGW生成的动态链接库(dll)
关于gcc编译dll的我就不说了,网上举例一大堆,下面以g++为例。 假设有一个test.cpp文件如下: extern "C" { __declspec(dllexport) double add(double x,double y); } double add(double x,double y){ return x+y; } 在MinGW中使用g++编译: g++ -
python调用的动态连接库的方法(ctypes)
通过阅读python帮助和一些简单源码,得出以下几点: 1.python实现调用函数,主要依赖于ctypes,ctypes是一个python的外函数库,可以提供与c兼容的数据类型,并允许调用dll或共享库中的方法 eg: fromctypesimport*   (import ctypes) 2.加载动态连接库 Ctypes可以扩展cdll,windows系统下的windll和ole
Python:使用ctypes库调用外部DLL(附带ctypes c 类型转换图)
2010-04-04 23:36 by 无常, 22558 阅读, 6 评论, 收藏, 编辑 前言 朋友的公司是做GPS的,上周联系到我要帮做个程序把他们平台的车辆定位跟踪数据和省里的平台对接。看一下官方提供的三个文档,洋洋洒洒共一百多页,一大堆协议的定义甚是齐全,好在官方的文件中也带有个封装好通信功能的DLL和一个调用此接口的c++ DEMO程序,既然有现成的可用,那就不必去看他的协议了。说实
python释放加载的dll
用windll.LoadLibrary 加载了一个c/c++的动态dll,在其他地方想要使用这个dll发现一直被python的程序占用着,python程序加载了用完后怎么让他释放掉的方法,load一次就要free一次,如果中途运行异常有出现load 没free,后面再load 和 free,完了dll还是会被占用着: from ctypes import * import win32api
ctypes库的使用 python调用Windows DLL
ctypes库的使用 python调用Windows DLL ctypes是Python的一个外部库,提供和C语言兼容的数据类型,可以很方便地调用C DLL中的函数。
Python Ctypes结构体指针处理(函数参数,函数返回)
参考网址: http://www.2cto.com/kf/201109/106444.html test.c(动态库源代码) // 编译生成动态库: gcc -g -fPIC -shared -o libtest.so test.c #include #include #include typedef struct StructPointerTest { char name[2
ctypes cdll打开动态库,数据交换,调试
最近在使用python调用c语言写的dll,遇到不少问题记录一下。1 动态库有其他依赖的动态库就比如说你生成的dll通过在linux ldd 看到有其他的依赖 但是如果直接调用你的dll文件 cdll.LoadLibrary(param.fcdll)可能会有如下的错误 OSError: /home/wpr/bin/anaconda4.3.0/lib/python3.6/lib-dynload
python ctypes传数组
from ctypes import * module = ['2.0, 2.0,2.0, 2.0, 2.00', '2.0, 5.0,2.4, 2.1, 2.0', '3.0, 1.0,2.0, 2.5, 2.00'] hist = [2, 2, 2, 2, 2] # print len(module) test = str(module)[1:-1] test_1 = str(hist)[...