C++代码中嵌入Python之后程序的发布问题

来源:互联网 发布:数据库审计绿盟 编辑:程序博客网 时间:2024/04/29 01:41

一个很简单的程序:

 

 

运行没问题。但我拿到一个XP环境下始终无法运行(XP是虚拟机中的,除了驱动什么都没装,是MSDN版的)。我已经在XP下安装了VC2005运行库,把python26.dll、boost_python-vc80-mt-1_39.dll、boost_python-vc80-mt-gd-1_39.dll都拷贝到程序所在的目录了还是不行。程序是Release发布的。一运行就提示:

应用程序正常初始化(0xc0150002)失败。请单击“确定”,终止应用程序。


google了半天无果。

 

今天上午我在xp下运行了一个py2exe打包的python程序,因为它是for2.6的,所以要安装VC2008的运行库,回头再运行了一下昨天这个C++的小程序居然行了。

不过还是有错误。然后我把py2exe打包后dist的东西都拷了进来,再把Library.zip解压出来,运行就成功了!我又在C++里面用Python访问了数据库,运行同样没问题!

看来以后嵌入Python的C++程序最好不用VC8写,就用纯C++吧。

 

PS: 如果是用py2exe打包的,发布时手动把vs2008下的redist/x86/Microsoft.VC90.CRT 下面的四个文件都copy到py2exe打包生成的dist目录下,就可以直接copy dist目录到任意未安装python或08运行库的环境下运行了。