2009-11-20 13 views
20

私は、ubuntu 9.04リポジトリからboost pythonをインストールしました。私は正常にチュートリアルから Build a Simple Program Using Boostを実行したので、私はそのブーストのpythonが私のシステムにインストールされていることを知っている。私は共有ライブラリを作成するために、2つのステップの下からの最初のステップを実行しようとしました Boost Pythonで "No such file or directory"エラーが発生しました

#include <string> 

namespace { // Avoid cluttering the global namespace. 

    // A couple of simple C++ functions that we want to expose to Python. 
    std::string greet() { return "hello, world"; } 
    int square(int number) { return number * number; } 
} 
#include <boost/python.hpp> 
using namespace boost::python; 

BOOST_PYTHON_MODULE(getting_started1) 
{ 
    // Add regular functions to the module. 
    def("greet", greet); 
    def("square", square); 
} 

g++ -c -fPIC hello.cpp -o hello.o 
g++ -shared -Wl,-soname,libhello.so -o libhello.so hello.o 

が(これらの権利はあります

しかし、プログラムは以下のエラーを返します。コマンド?)

完全なエラー出力は次のとおりです。

In file included from /usr/include/boost/python/detail/prefix.hpp:13, 
      from /usr/include/boost/python/args.hpp:8, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/detail/wrap_python.hpp:50:23: error: pyconfig.h: No such file or directory 
/usr/include/boost/python/detail/wrap_python.hpp:75:24: error: patchlevel.h: No such file or directory 
/usr/include/boost/python/detail/wrap_python.hpp:78:2: error: #error Python 2.2 or higher is required for this version of Boost.Python. 
/usr/include/boost/python/detail/wrap_python.hpp:142:21: error: Python.h: No such file or directory 
In file included from /usr/include/boost/python/cast.hpp:13, 
      from /usr/include/boost/python/handle.hpp:10, 
      from /usr/include/boost/python/args_fwd.hpp:10, 
      from /usr/include/boost/python/args.hpp:10, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/base_type_traits.hpp:24: error: ‘PyObject’ was not declared in this scope 
/usr/include/boost/python/base_type_traits.hpp:24: error: template argument 1 is invalid 
/usr/include/boost/python/base_type_traits.hpp:30: error: ‘PyTypeObject’ was not declared in this scope 
/usr/include/boost/python/base_type_traits.hpp:30: error: template argument 1 is invalid 
/usr/include/boost/python/base_type_traits.hpp:36: error: ‘PyMethodObject’ was not declared in this scope 
/usr/include/boost/python/base_type_traits.hpp:36: error: template argument 1 is invalid 
In file included from /usr/include/boost/python/handle.hpp:11, 
      from /usr/include/boost/python/args_fwd.hpp:10, 
      from /usr/include/boost/python/args.hpp:10, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/errors.hpp:51: error: expected constructor, destructor, or type conversion before ‘*’ token 
In file included from /usr/include/boost/python/handle.hpp:13, 
      from /usr/include/boost/python/args_fwd.hpp:10, 
      from /usr/include/boost/python/args.hpp:10, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/handle_fwd.hpp:12: error: expected type-specifier before ‘PyObject’ 
/usr/include/boost/python/handle_fwd.hpp:12: error: expected ‘>’ before ‘PyObject’ 
In file included from /usr/include/boost/python/handle.hpp:14, 
      from /usr/include/boost/python/args_fwd.hpp:10, 
      from /usr/include/boost/python/args.hpp:10, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/refcount.hpp: In function ‘T* boost::python::incref(T*)’: 
/usr/include/boost/python/refcount.hpp:16: error: ‘PyObject’ was not declared in this scope 
/usr/include/boost/python/refcount.hpp: In function ‘T* boost::python::xincref(T*)’: 
/usr/include/boost/python/refcount.hpp:23: error: ‘PyObject’ was not declared in this scope 
/usr/include/boost/python/refcount.hpp: In function ‘void boost::python::decref(T*)’: 
/usr/include/boost/python/refcount.hpp:30: error: ‘PyObject’ was not declared in this scope 
/usr/include/boost/python/refcount.hpp: In function ‘void boost::python::xdecref(T*)’: 
/usr/include/boost/python/refcount.hpp:36: error: ‘PyObject’ was not declared in this scope 
In file included from /usr/include/boost/python/args_fwd.hpp:10, 
      from /usr/include/boost/python/args.hpp:10, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/handle.hpp: In constructor ‘boost::python::handle<T>::handle(boost::python::detail::borrowed_reference_t*)’: 
/usr/include/boost/python/handle.hpp:130: error: ‘PyObject’ was not declared in this scope 
/usr/include/boost/python/handle.hpp:130: error: expected primary-expression before ‘)’ token 
/usr/include/boost/python/handle.hpp: At global scope: 
/usr/include/boost/python/handle.hpp:157: error: ‘PyTypeObject’ was not declared in this scope 
/usr/include/boost/python/handle.hpp:157: error: template argument 1 is invalid 
/usr/include/boost/python/handle.hpp:157: error: invalid type in declaration before ‘;’ token 
/usr/include/boost/python/handle.hpp:256: error: expected initializer before ‘*’ token 
In file included from /usr/include/boost/python/args.hpp:10, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/args_fwd.hpp:26: error: template argument 1 is invalid 
In file included from /usr/include/boost/python/object/pointer_holder.hpp:14, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/instance_holder.hpp:34: error: ‘PyObject’ has not been declared 
/usr/include/boost/python/instance_holder.hpp:41: error: expected ‘;’ before ‘(’ token 
/usr/include/boost/python/instance_holder.hpp:45: error: ‘PyObject’ has not been declared 
In file included from /usr/include/boost/python/object/pointer_holder.hpp:21, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/detail/wrapper_base.hpp:21: error: expected initializer before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:23: error: expected initializer before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:30: error: expected initializer before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:34: error: expected initializer before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:43: error: ‘PyObject’ has not been declared 
/usr/include/boost/python/detail/wrapper_base.hpp:44: error: ‘PyObject’ is neither function nor member function; cannot be declared friend 
/usr/include/boost/python/detail/wrapper_base.hpp:44: error: expected ‘;’ before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:49: error: ‘PyTypeObject’ has not been declared 
/usr/include/boost/python/detail/wrapper_base.hpp:55: error: expected ‘;’ before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp: In constructor ‘boost::python::detail::wrapper_base::wrapper_base()’: 
/usr/include/boost/python/detail/wrapper_base.hpp:46: error: class ‘boost::python::detail::wrapper_base’ does not have any field named ‘m_self’ 
/usr/include/boost/python/detail/wrapper_base.hpp: At global scope: 
/usr/include/boost/python/detail/wrapper_base.hpp:61: error: expected initializer before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:71: error: expected initializer before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:77: error: variable or field ‘initialize_wrapper’ declared void 
/usr/include/boost/python/detail/wrapper_base.hpp:77: error: ‘PyObject’ was not declared in this scope 
/usr/include/boost/python/detail/wrapper_base.hpp:77: error: ‘self’ was not declared in this scope 
/usr/include/boost/python/detail/wrapper_base.hpp:77: error: expected primary-expression before ‘*’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:77: error: ‘w’ was not declared in this scope 
/usr/include/boost/python/detail/wrapper_base.hpp:82: error: variable or field ‘initialize_wrapper’ declared void 
/usr/include/boost/python/detail/wrapper_base.hpp:82: error: ‘PyObject’ was not declared in this scope 
/usr/include/boost/python/detail/wrapper_base.hpp:82: error: expected primary-expression before ‘,’ token 
/usr/include/boost/python/detail/wrapper_base.hpp:82: error: expected primary-expression before ‘...’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:57, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:62, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:67, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:72, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:77, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:82, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:87, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:92, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:97, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:102, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:107, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:112, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:117, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:122, 
      from /usr/include/boost/python/object/pointer_holder.hpp:63, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:176: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:47, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:52, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:57, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:62, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:67, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:72, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:77, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:82, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:87, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:92, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
      from /usr/include/boost/python.hpp:11, 
      from first.cpp:9: 
/usr/include/boost/python/object/pointer_holder.hpp:199: error: expected `)' before ‘*’ token 
In file included from /usr/include/boost/preprocessor/iteration/detail/iter/forward1.hpp:97, 
      from /usr/include/boost/python/object/pointer_holder.hpp:99, 
      from /usr/include/boost/python/to_python_indirect.hpp:10, 
      from /usr/include/boost/python/converter/arg_to_python.hpp:10, 
      from /usr/include/boost/python/call.hpp:15, 
      from /usr/include/boost/python/object_core.hpp:12, 
      from /usr/include/boost/python/args.hpp:25, 
+0

チュートリアルのリンクが壊れています – robince

答えて

9

Pythonヘッダー(Python.hなど)が不足しているようです。ご使用のPythonバージョンの-develまたは-devパッケージを、オペレーティングシステムのパッケージマネージャを使用してインストールしてください。 [編集:あなたはとてもsudo aptitude install python-devしようとUbuntuの上にある気づい]これは

...ヘッダファイルを提供する必要があります

+0

'sudo aptitude install python-dev' helped me! 私はそれを感謝します!ありがとう! – Temak

30

#include <Python.h>を追加し、-I/usr/include/python2.6または任意のあなたのPythonのバージョンがあるとコンパイル。

-lpython2.6 -lboost_python

+4

同じ問題があり、これが私のために修正されました。もし誰かがDebianを使っているのであれば、squeezeはpython-devとpython2.6-devパッケージを持っています(修正のためにもう5分かけて見積もります) – tr9sh

+0

私の場合は同じ問題がありました。 pyconfig.hを見つけて、g ++ -shared -c -o greet.so -fPIC greet.cpp -lpython2.7 -lboostpython -I/usr/local/include/python2.7を見つけました。 –

3

はすぐに非常に複雑に得ることができるような個々のコマンドを実行することにより、大きなプログラムをビルドとリンクすることを忘れないでください。 CMakeのようなビルドシステムを使用して、依存関係を見つけてコンパイラコマンドを並べ替えることができます。それはかなり遅れていますが、まだ、ここに私の答えですが

project (MyProject) 
cmake_minimum_required(VERSION 2.8) 

find_package(PythonLibs) 
include_directories (${PYTHON_INCLUDE_DIRS}) 

find_package(Boost 1.45.0 COMPONENTS python) 
include_directories (${Boost_INCLUDE_DIRS}) 


add_library (
    mylibinterface SHARED 
    mylib.cpp 
) 

target_link_libraries (mylibinterface 
    boost_python 
    ${PYTHON_LIBRARIES} 
    ${Boost_LIBRARIES} 
) 
10

はあなたがlibboost-python-を持っていることを確認し、ブーストのpythonプロジェクトでCMakeのを使用するために

最小限CMakeLists.txtはこれですdevライブラリがインストールされました:

sudo apt-get install libboost-python-dev 

これは私のためのトリックでした。

関連する問題