boost 1.34 终于简化了内嵌python的支持。
还支持了python2.5。
在中文windows下用vc8编译boost的过程中,虽然仍有代码页字符警告,但是可以正常编译成功,不再象1.33.1那样造成正则表达式库不修改源码不能够编译通过的问题了。
下面的例子是从boost文档中来的:
#include <iostream>
#include <string>
#include <boost/python.hpp>
#include <boost/ref.hpp>
#include <vector>
using namespace boost::python;
void greet()
{
object main = import("__main__");
object global(main.attr("__dict__"));
// Define greet function in Python.
object result = exec(
"def greet(a): \n"
" return 'Hello %s from Python!' % a \n",
global, global);
object greet = global["greet"];
list lst;
lst.append(1);
lst.append(2);
object r = greet(lst);
std::string message = extract<std::string>(r);
std::cout << message << std::endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
Py_Initialize();
greet();
system("Pause");
return 0;
}
BTW:
我用vc8编译了全部的boost,然后,include加上lib目录(内仅有lib和dll文件),合计2.68GB。