C++代码中嵌入Python之后程序如何发布?

thy38 2009-08-15 08:18:05
一个很简单的程序:
#include "boost/python.hpp"


int _tmain(int argc, _TCHAR* argv[])
{
Py_Initialize();
PyRun_SimpleString("print 'hello'");
Py_Finalize();

system("pause");
return 0;
}


运行没问题。但我拿到一个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了半天无果。不知道大家是怎么搞的?
...全文
328 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
thy38 2009-08-18
  • 打赏
  • 举报
回复
不管了,问题已经解决,结贴!
thy38 2009-08-16
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 leitianjun 的回复:]
这个问题出在你的开发机上的库文件问题,你应把开发机上的X:\Microsoft Visual Studio 9.0\VC\redist\x86目录下的对应的库文件随EXE发布在同一级目录即可解决些问题!
[/Quote]

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

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

回头我才看到了你的回复,谢谢。

不过奇怪,我用VC8写的C++为什么要用VC9的运行库呢?
  • 打赏
  • 举报
回复
这个问题出在你的开发机上的库文件问题,你应把开发机上的X:\Microsoft Visual Studio 9.0\VC\redist\x86目录下的对应的库文件随EXE发布在同一级目录即可解决些问题!
DarkChampion 2009-08-15
  • 打赏
  • 举报
回复
不是说针对这种情况的

我是说wiseinstaller之类的
thy38 2009-08-15
  • 打赏
  • 举报
回复
有这样的打包工具吗?

不知道为什么没人提到过这个问题,没人实际应用过?
DarkChampion 2009-08-15
  • 打赏
  • 举报
回复
用专门的打包工具试试

37,721

社区成员

发帖
与我相关
我的任务
社区描述
JavaScript,VBScript,AngleScript,ActionScript,Shell,Perl,Ruby,Lua,Tcl,Scala,MaxScript 等脚本语言交流。
社区管理员
  • 脚本语言(Perl/Python)社区
  • IT.BOB
加入社区
  • 近7日
  • 近30日
  • 至今

试试用AI创作助手写篇文章吧