sf2gis@163.com

一、下載boost1.52,http://www.boost.org/。解壓文件到d:\boost\boost_1_52_0。php

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

三、安裝python,我安裝在了D:\Python25,環境變量設置PATH D:\Python25;html

四、開始->程序->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010)。打開一個控制檯java

五、在控制檯依次輸入如下3行:python

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 releaselinux

六、項目屬性中配置例如如下
連接器裏的附加庫文件夾增長。python/libs(python的安裝文件夾中),boost/vs2010/lib(生成的boost的文件夾中)ios

c/c++的附加庫文件夾增長,boost(boost的下載文件夾),python/include(python的安裝文件夾)c++

一、確認project中項目屬性中配置例如如下
連接器裏的附加庫文件夾增長,python/libs(python的安裝文件夾中),boost/vs2010/lib(生成的boost的文件夾中)
c/c++的附加庫文件夾增長,boost(boost的下載文件夾),python/include(python的安裝文件夾)web

二、假設使用的是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
相關文章
相關標籤/搜索