• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

cynchanpin

  • 博客园
  • 联系
  • 订阅
  • 管理

View Post

sf2gis@163.com

1、下载boost1.52,http://www.boost.org/。解压文件到d:\boost\boost_1_52_0。

2、下载python2.7.3,http://www.python.org/;(boost1.4支持到python2.5)

3、安装python,我安装在了D:\Python25,环境变量设置PATH D:\Python25;

4、開始->程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010)。打开一个控制台

5、在控制台依次输入以下3行:

cd d:\boost\boost_1_49_0
bootstrap.bat
bjam stage –toolset=msvc-9.0 –with-python –stagedir=”D:\boost_1_49_0\bin\vc9” link=static runtime-link=shared runtime-link=static threading=multi debug release

6、项目属性中配置例如以下
链接器里的附加库文件夹增加。python/libs(python的安装文件夹中),boost/vs2010/lib(生成的boost的文件夹中)

c/c++的附加库文件夹增加,boost(boost的下载文件夹),python/include(python的安装文件夹)

1、确认project中项目属性中配置例如以下
链接器里的附加库文件夹增加,python/libs(python的安装文件夹中),boost/vs2010/lib(生成的boost的文件夹中)
c/c++的附加库文件夹增加,boost(boost的下载文件夹),python/include(python的安装文件夹)

2、假设使用的是boost.python的静态库:在属性->预处理器->预处理器定义增加BOOST_PYTHON_STATIC_LIB,否则编译的为动态,会提示找不到python_boost*.lib什么的

c++程序

// python_test.cpp : 定义控制台应用程序的入口点。

// #include "stdafx.h" #include <iostream> #include <boost/python.hpp> using namespace std; using namespace boost::python; int _tmain(int argc, _TCHAR* argv[]) { Py_Initialize(); // 初始化 object main_module = import("__main__"); object main_namespace = main_module.attr("__dict__"); // 运行多个python语句:创建一个hello.txt文本文件 str Lines = "hello = file('hello.txt', 'w')\n" "hello.write('Hello world first python!')\n" "hello.close()"; exec(Lines, main_namespace); // 运行表达式 exec("result = 5 ** 2", main_namespace); // 提取并查看变量result的值 int five_squared = extract<int>(main_namespace["result"]); // 查看变量result的值 cout << "The five_squeared caculated by python is " << five_squared << endl; //载入sys module. object sys = import("sys"); // 提取python的版本号信息 std::string version = extract<std::string>(sys.attr("version")); std::cout << version << std::endl; //要求simple.py与可运行文件在同样路径下! 运行ok str filename = "simple.py"; object simple = exec_file(filename, main_namespace, main_namespace); object foo = main_namespace["foo"]; int val = extract<int>(foo(5)); cout << "Python has caculated foo as " << val << endl; Py_Finalize(); cout << "My Python SUCCESS"<<endl ; system("pause"); return 0; }

在当前文件夹下建立一个simple.py的Python文件,内容例如以下:


def foo(i = 4):  
    return i**3  

(演示样例程序源于网络)

阅读全文
  • 本文已收录于以下专栏:

Python调用C、C++库

Python调用C、C++库 sf2gis@163.com 2014年9月24日   1 目标:Python调用C/C++中的类或方法 ctypes是Python扩展库,自2.5以后開始增加...
  • sf2gis2
  • sf2gis2
  • 2016年02月18日 15:48
  • 1332

C++调用Python并用Winpdb调试

近期在学习用C++ 调用Python, 发现用起来还挺方便的,就是在调试的方面遇到了些问题. 大部分Python IDE都提供了调试功能,比方Eric4, PythonWin, IDLE等, 不是这...
  • mishara
  • mishara
  • 2013年06月04日 13:42
  • 1623

c++调用python函数

由于淘宝开放平台(open.taobao.com)仅仅提供4种语言(c#,java.php,python)的接口api,c++没法操作,所以学习了下python。感觉python代码量非常少。但功能却非常强...
  • HongHuer
  • HongHuer
  • 2015年07月27日 13:24
  • 1244

C++调用python脚本

  • 2017年03月24日 18:10
  • 3KB
  • 下载

python调用c++动态库Demo

  • 2013年09月02日 09:55
  • 7KB
  • 下载

像VS/VC一样调试python调用的C++共享库

前面介绍了使用GDB调试python调用的c++共享库,可是对于习惯了IED调试的同学来说真的非常不习惯,那么以下就介绍一种使用IED调试python调用的C++共享库的方法。

代码还是前面的代码 代...

  • N_sev7
  • N_sev7
  • 2015年08月06日 11:46
  • 1465

python调用C/C++ demo

  • 2017年07月19日 15:12
  • 2KB
  • 下载

C++调用Python

  • 2012年01月09日 23:44
  • 297KB
  • 下载

C++中调用Python脚本(

转自 : http://blog.sina.com.cn/s/blog_5eb8ebcb0100skpv.html C++中调用Python脚本的意义就不讲了,至少你能够把它当成文本形式的动...
  • xiaoxianerqq
  • xiaoxianerqq
  • 2016年08月18日 17:54
  • 242

Python调用C/C++动态链接库的方法具体解释

本文以实例解说了Python调用C/C++ DLL动态链接库的方法。具体示比例如以下: 演示样例一: 首先,在创建一个DLLproject(本例创建环境为VS 2005),头文件: 0...
  • Tony_Wong
  • Tony_Wong
  • 2014年08月02日 15:36
  • 546

leeboy_wang

+关注
原创
145
粉丝
58
喜欢
1
码云
 

他的最新文章

很多其它文章
  • openvassd: Reloaded all the NVTs
  • 疑难杂症-调用第三方库
  • 产品经理-第一次接触
  • 聚铭网络科技-信息安全专家
  • suricata的ips模式

文章分类

  • C++
    93篇
  • 杂谈
    5篇
  • 数据结构与算法
    9篇
  • MFC
    6篇
  • Oracle
    19篇
  • unix C
    32篇
  • linux、unix
    20篇
  • autoit
    3篇
  • boost
    9篇
  • hadoop
    3篇
  • 安全
    10篇
  • 网络编程
    7篇
  • 产品设计
    1篇
展开

博主专栏

  • 15

    从实例入门linux

    29496
展开

文章存档

  • 2017年9月
    1篇
  • 2017年8月
    1篇
  • 2017年6月
    1篇
  • 2016年5月
    1篇
  • 2016年1月
    7篇
  • 2015年11月
    4篇
  • 2015年10月
    1篇
  • 2015年7月
    1篇
  • 2015年4月
    2篇
  • 2015年3月
    5篇
  • 2015年2月
    6篇
  • 2014年12月
    1篇
  • 2014年10月
    1篇
  • 2014年9月
    3篇
  • 2014年8月
    2篇
  • 2014年5月
    2篇
  • 2014年4月
    1篇
  • 2014年3月
    5篇
  • 2014年2月
    5篇
  • 2013年12月
    2篇
  • 2013年5月
    1篇
  • 2013年3月
    3篇
  • 2013年2月
    1篇
  • 2012年11月
    3篇
  • 2012年10月
    2篇
  • 2012年9月
    16篇
  • 2012年8月
    13篇
  • 2012年7月
    5篇
  • 2012年5月
    2篇
  • 2012年4月
    7篇
  • 2012年3月
    21篇
  • 2012年2月
    11篇
  • 2011年12月
    2篇
  • 2011年11月
    2篇
  • 2011年10月
    1篇
  • 2011年9月
    13篇
  • 2011年8月
    5篇
  • 2011年7月
    16篇
  • 2011年5月
    1篇
  • 2011年4月
    5篇
  • 2011年3月
    1篇
  • 2011年2月
    1篇
  • 2011年1月
    8篇
展开

他的热门文章

  • Oracle多表关联更新(update多表关联)
    41824
  • C++中巧得数组长度和vector的理解
    20233
  • oracle学习之bulk collect使用方法
    19183
  • C++和C在linux下编程和与在WINDOWS下有什么差别
    16665
  • 数组长度的获得 vector的使用方法
    13108

联系我们

  • 站点客服
  • 微博客服
  • webmaster@csdn.net
  • 400-660-0108

京ICP证09002463号

关于|招聘|广告服务

ali

Copyright © 1999-2018

CSDN.NET, All Rights Reserved

内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:c++调用python
举报原因:
原文地址:
原因补充:

(最多仅仅同意输入30个字)

posted on 2018-01-10 12:15  cynchanpin  阅读(443)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3