在VC6.0中调用python

在C++中调用python是python嵌入的一种重要的使用方式。
如果使用VC 6.0就会发现,只有直接运行一个pythorn命令串的方式能正常运行。
比如:
PyRun_SimpleString("import sys/nprint sys.path");
但是,如果是用更复杂的调用,即使是运行一个文件都不行。
 Py_Initialize();
 
char  szFile[]  =   " pyfile.py " ;
  FILE
*  fp  =  fopen(szFile,  " r " );
 
if ( fp  ==  NULL) printf( " failed to open file! " );
 
else
 {
     
if (PyRun_SimpleFile(fp, szFile)  !=   0 )
     {
      fclose(fp);
      printf(
" PyRun_SimpleFile(%s) failed! " , szFile);
      
return   - 1 ;
     }
     fclose(fp);
 }
  Py_Finalize();
经过研究终于发现,原来是VC版本的问题。
由于python 2.4是在VC7.1下编译的。直接利用Python的windows安装包中.h、.lib会出现错误。 
如果想在VC6中嵌入python需要自己重新编译python。如果希望使用python的debug版也需要自己编译。
编译的步骤,以python 2.4.4为例:
1) 下载python代码,windows安装包中没有。应该下载 http://www.python.org/ftp/python/2.4.4/Python-2.4.4.tgz
2) 展开到一个目录%dist%
3) VC6的工程文件在%dist%/PC/VC6/pcbuild.dsw
4) 进行编译,如果没有其他需求,只编译pythoncore就可以。如果想完整编译python的全部模块,需要填加一些外部代码。具体说明可以参考相同工程目录下的readme.txt.
5) 所有的编译输出都在%dist%/PC/VC6/下。
这样就可以在VC的工程中使用了。
注意,头文件有两个目录%dist%/PC/和%dist%/Include/
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值