1 C调用Python环境搭建

C调用Python环境配置

  1. 设置Python的头文件和库文件目录

    如Python安装在D:\Python27\,将D:\Python27\libs\python27.libD:\Python27\include链接到自己的程序中;

  2. 修改D:\Python27\include中的文件

    修改pyconfig.h

    
    #ifdef _DEBUG 
    
    
    # define Py_DEBUG 
    
    
    #endif 
    

    修改为

    
    #ifdef _DEBUG 
    
    //# define Py_DEBUG 
    
    #endif 
    

    
    # ifdef _DEBUG
    
    
    # pragma comment(lib,"python27_d.lib")
    
    
    # else
    
    
    # pragma comment(lib,"python27.lib")
    
    
    # endif /* _DEBUG */ 
    

    修改为

    
    # ifdef _DEBUG 
    
    
    # pragma comment(lib,"python27.lib") 
    
    
    # else 
    
    
    # pragma comment(lib,"python27.lib") 
    
    
    # endif /* _DEBUG */ 
    

    修改object.h

    
    #if defined(Py_DEBUG) && !defined(Py_TRACE_REFS) 
    
    
    #define Py_TRACE_REFS 
    
    
    #endif 
    

    修改为

    
    #if defined(Py_DEBUG) && !defined(Py_TRACE_REFS) 
    
    // #define Py_TRACE_REFS 
    
    #endif
    

注意事项

在Visual Studio中编译时必须注意,若Python为64bit而VS C++ Project Config里的platform是32bit,会报以下错误,

Error   1   error LNK2019: unresolved external symbol __imp__Py_Finalize referenced in function _main    
Error   2   error LNK2019: unresolved external symbol __imp__PyEval_CallObjectWithKeywords referenced in function _main    
Error   3   error LNK2019: unresolved external symbol __imp__PyObject_GetAttrString referenced in function _main    
Error   4   error LNK2019: unresolved external symbol __imp__PyImport_ImportModule referenced in function _main    
Error   5   error LNK2019: unresolved external symbol __imp__Py_Initialize referenced in function _main  
Error   6   error LNK1120: 5 unresolved externals   

so,

  1. 如果VS的platform是win32,python27.lib以及include下的文件应该是32位的;
  2. 如果VS的platform是x64,python27.lib以及include下的文件应该是64位的;

注:

安装32位 的Python2.7,python27.lib以及include下的文件就是32位的;安装64位的Python2.7,python27.lib以及include下的文件就是64位的;

VS配置平台(platform)的修改:右击项目 -> 属性

参考链接

  1. http://blog.csdn.net/u014489596/article/details/42124595
  2. http://www.cppblog.com/API/archive/2013/04/25/199720.aspx
  3. http://blog.csdn.net/bluels01/article/details/8511982#

转载请标明出处(http://blog.csdn.net/lis_12/article/details/53691014).

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值