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++程序</p>
<p><span class="hljs-preprocessor">#include "stdafx.h"</span>
<span class="hljs-preprocessor">#include <iostream></iostream></span>
<span class="hljs-preprocessor">#include <boost python.hpp></boost></span></p>
<p><span class="hljs-keyword">using</span> <span class="hljs-keyword">namespace</span> <span class="hljs-built_in">std</span>;
<span class="hljs-keyword">using</span> <span class="hljs-keyword">namespace</span> boost::python;</p>
<p><span class="hljs-keyword">int</span> _tmain(<span class="hljs-keyword">int</span> argc, _TCHAR* argv[])
{
Py_Initialize();
object main_module = import(<span class="hljs-string">"<strong>main</strong>"</span>);
object main_namespace = main_module.attr(<span class="hljs-string">"<strong>dict</strong>"</span>);</p>
<p>str Lines =
<span class="hljs-string">"hello = file('hello.txt', 'w')\n"</span>
<span class="hljs-string">"hello.write('Hello world first python!')\n"</span>
<span class="hljs-string">"hello.close()"</span>;
exec(Lines, main_namespace);</p>
<p>exec(<span class="hljs-string">"result = 5 ** 2"</span>, main_namespace);</p>
<p><span class="hljs-keyword">int</span> five_squared = extract<<span class="hljs-keyword">int</span>>(main_namespace[<span class="hljs-string">"result"</span>]);</p>
<p><span class="hljs-built_in">cout</span> << <span class="hljs-string">"The five_squeared caculated by python is "</span> << five_squared << endl;</p>
<p>object sys = import(<span class="hljs-string">"sys"</span>);</p>
<p><span class="hljs-built_in">std</span>::<span class="hljs-built_in">string</span> version = extract<<span class="hljs-built_in">std</span>::<span class="hljs-built_in">string</span>>(sys.attr(<span class="hljs-string">"version"</span>));
<span class="hljs-built_in">std</span>::<span class="hljs-built_in">cout</span> << version << <span class="hljs-built_in">std</span>::endl;</p>
<p>str filename = <span class="hljs-string">"simple.py"</span>;
object simple = exec_file(filename, main_namespace, main_namespace);
object foo = main_namespace[<span class="hljs-string">"foo"</span>];
<span class="hljs-keyword">int</span> val = extract<<span class="hljs-keyword">int</span>>(foo(<span class="hljs-number">5</span>));
<span class="hljs-built_in">cout</span> << <span class="hljs-string">"Python has caculated foo as "</span> << val << endl;
Py_Finalize();</p>
<p><span class="hljs-built_in">cout</span> << <span class="hljs-string">"My Python SUCCESS"</span><<endl ; system(<span class="hljs-string">"pause");
<span class="hljs-keyword">return</span> <span class="hljs-number">0</span>;
} </endl>
在当前文件夹下建立一个simple.py的Python文件,内容例如以下:
<span class="hljs-function"><span class="hljs-keyword">def</span> <span class="hljs-title">foo</span><span class="hljs-params">(i = <span class="hljs-number">4</span>)</span>:</span>
<span class="hljs-keyword">return</span> i**<span class="hljs-number">3</span>
(演示样例程序源于网络)
Original: https://www.cnblogs.com/cynchanpin/p/8257871.html
Author: cynchanpin
Title: sf2gis@163.com
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/551487/
转载文章受原作者版权保护。转载请注明原作者出处!