zoukankan      html  css  js  c++  java
  • ubuntu boost.python

    安装boost(未尝试只安装 libboost-python-dev)

    sudo apt-get install libboost-all-dev

    新建hello_ext.cpp,输入以下代码

     1 char const *greet() {
     2   return "hello world";
     3 }
     4 
     5 #include <boost/python.hpp>
     6 
     7 BOOST_PYTHON_MODULE(hello_ext) {
     8   using namespace boost::python;
     9   def("greet", greet);
    10 }

    存储,使用以下命令行编译:

    g++ -I/usr/include/python2.7 -c -fPIC hello_ext.cpp -o hello_ext.o
    g++ -shared -o hello_ext.so hello_ext.o -lpython2.7 -lboost_python

    在hello_ext所在目录,打开 python shell

    >>> import hello_ext

    >>> print hello_ext.greet()

    注意事项:

    - 要添加 -lpython2.7 和 -lboost_python,否则会出现一个很复杂的函数找不到的问题,参见 http://stackoverflow.com/questions/1771063/no-such-file-or-directory-error-with-boost-python

    很好的示例代码: https://github.com/TNG/boost-python-examples

    ------------------------------------------------------------
    本文由WindTaiL在cnblogs中发布,转载请注明出处
  • 相关阅读:
    poj2492A Bug's Life
    poj2912Rochambeau
    poj1062昂贵的聘礼
    poj3169Layout(差分约束)
    poj2240Arbitrage
    poj1502MPI Maelstrom
    poj3259Wormholes
    1/8=1/a+1/b,a,b为自然数
    目录查找
    待删除未删除 问题解决
  • 原文地址:https://www.cnblogs.com/windtail/p/4148481.html
Copyright © 2011-2022 走看看