我是用VS2013写的DLL,在python2.7里调用。
项目在我和同事的电脑上都能跑,可在另一台工作电脑中出现Windows Error -529697949.
在这台电脑中,写的简单用来找问题的DLL也能跑。
于是工作陷入不断找问题排除问题的循环。/(ㄒoㄒ)/~~
最后我在VS里调试了调用DLL的这个py文件:test.py

参考了:https://blog.csdn.net/sagittarius_warrior/article/details/72832696

大概内容如下:

from ctypes import *
dll = cdll.LoadLibrary('HEELO_API.dll')
height = 480
width = 640
count = width*height
data_3D_x = (c_float*count)()
data_3D_y = (c_float*count)()
data_3D_z = (c_float*count)()
data_Intensity = (c_uint16*count)()
dll.save.restype = POINTER(c_ubyte)
ret = dll.save(data_3D_x, data_3D_y, data_3D_z, data_Intensity)
list = []
for n in range(255):if ret[n] == 0:break;list.append(chr(ret[n]))
list = ''.join(list)
print list
解决步骤:首先配置DLL这个工程的属性:
第二步:将test.py放到上述工作目录中(工作目录的位置你可以自己修改)
第三步:调试->启动调试F5 ,这样就会启动cmd.exe,然后你在cmd上输入python test.py(前提是你设置过环境变量,要不然它运行不了)

我的项目显示:

File "C:\Python27\lib\ctypes\__init__.py", line 444, in LoadLibrary
    return self._dlltype(name)
  File "C:\Python27\lib\ctypes\__init__.py", line 366, in __init__
    self._handle = _dlopen(self._name, mode)

WindowsError: [Error 126]

这个时候我才发现是VC++运行库缺失了。
然后我去下载了64位的2013版本的VC++运行库,下载地址:https://www.microsoft.com/zh-cn/download/details.aspx?id=40784,安装之后运行就成功了。
o(* ̄▽ ̄*)ブ万岁

在python里调用c++的DLL出现Windows Error -529697949相关推荐

  1. 在C#里调用C++的dll时需要注意的一些问题转

    原文来自:http://hi.baidu.com/cityhacker/blog/item/419ed50af30a9e1595ca6b9d.html 2009-11-19 12:21 在c#里调用C ...

  2. 在python里调用C函数的三种方式

    一个python项目快速开发完以后,常常针对瓶颈进行优化,其中一种方式就是对于性能至关重要的部分,使用C重写,这已经是一种最佳实践.如果整个项目完全使用C,开发效率就没有保障.python运行环境(C ...

  3. 在 C++Builder 工程里调用 DLL 函数

    调用 Visual C++ DLL 给 C++Builder 程序员提出了一些独特的挑战.在我们试图解决 Visual C++ 生成的 DLL 之前,回顾一下如何调用一个 C++Builder 创建的 ...

  4. python调用动态链接库windows_用win从python ctypes调用标准windows.dll的Segfault

    我试图在Linux上运行的Python脚本中从Kernel32.dll调用一些函数.正如Johannes Weiß指出的How to call Wine dll from python on Linu ...

  5. 32位python-64位Python调用32位DLL方法(一)

    摘要: 本文介绍了一种简单快捷的方法,实现在64位Python调用32位DLL. 引言: Python发展到现在,3.x的普及率已经相当高,而且随着硬件(内存的不断增大)以及操作系统(64bit wi ...

  6. VS2012生成C的dll并调用以及Python调用C的DLL

    目录 VS2012生成DLL VS2012进行DLL调用 Python调用C的DLL VS2012生成DLL 使用Win32应用程序向导! 这样就会生成一个模板,我们只要填充模板就可以了 添加一个my ...

  7. python函数实现求非负实数平方根,在shell里调用

    编写python函数实现求非负实数平方根,在shell里调用 算法 牛顿迭代法 描述如下 函数代码 调用函数 算法 牛顿迭代法 利用切线逼近曲线,求曲线零点,对于曲线 y=f(x)y = f(x)y= ...

  8. python ctypes调用C++ dll,arry(数组)的相关操作

    @[TOC](python ctypes调用C++ dll,arry(数组)的相关操作) 前言 本人新手python一枚,最近工作中需要用到python 调用C++库,一个数组调用,花费了太多时间,遂 ...

  9. 【Python——类】 同一个类中一个函数里调用另一个函数的方法

    [Python-类] 同一个类中一个函数里调用另一个函数的方法 class Solution:def a(self):self.b() # 注意这种写法:self.类名def b(self):prin ...

最新文章

  1. AI一分钟 |世界上第一个无人驾驶出租车在迪拜投入使用,2030年无人驾驶将覆盖迪拜25%的交通行程
  2. 搭建python selenium 自动化测试框架_Python3+Selenium2完整的自动化测试框架实现(二):IE和Chrome浏览器驱动配置...
  3. 2-4 js基础-事件对象小结
  4. 聊聊tomcat jdbc pool的默认参数及poolSweeper
  5. Array and ArrayList
  6. 查看分支编码_MySQL分支数据库MariaDB之CentOS安装教程
  7. iOS 国际化多语言设置 xcode7
  8. wxPython控件学习之TextCtrl(二)多行及样式文本框
  9. 【03】AngularJS 简介
  10. g4600黑苹果efi_授人以鱼不如授人以渔,黑苹果EFI相关问题分析方法以及解决思路...
  11. 机器学习——神经网络
  12. API接口出来了,填写客户收货地址不用烦,自动填写不出差错
  13. 一、Excel之初识jxls
  14. python编写自动更换ip工具的代码
  15. SOPCAST所有频道的地址
  16. Oracle RAC Failover 说明
  17. Teredo tunneling pseudo-interface前面有个黄色感叹号
  18. mysql的锁机制,你真的了解吗?进来吧!用图表告诉你
  19. Linux指令-唐战伟
  20. 常用的分类问题中的损失函数

热门文章

  1. 关于一些Excel的快捷键总结
  2. 计算机网路基础课后习题答案 主编刘建友
  3. day09---(02)课程大纲-小节添加修改删除(前端)
  4. Git实用技巧36招
  5. Windows下使用chkdsk修复移动硬盘/磁盘
  6. 关于BUCK降压的一些学习笔记2-->滞回比较器产生三角波
  7. cad角度怎么画_软件CAD | 各种“线”工具
  8. Unity3D热更设计:一款基于 HybridCLR的C#热更方案
  9. 魔兽在副本里服务器维护了,魔兽世界11月19日维护服务器状态查询地址 6.2.3补丁上线更新一览...
  10. 如果iis的配置文件 applicationHost.config坏掉了, 会在 C:\inetpub\history\ 中存储历史备份。复制过去还原就可以了-摘自网络...