2009-11-20 4 views
20

J'ai installé boost python à partir des dépôts d'ubuntu 9.04. J'ai couru avec succès Build a Simple Program Using Boost à partir du tutoriel, donc je sais que boost python est installé sur mon système.Erreur "Aucun fichier ou répertoire" avec Boost Python

Cependant, le programme revient ci-dessous une erreur:

#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); 
} 

J'ai essayé d'exécuter la première étape de la ci-dessous deux étapes pour créer une bibliothèque partagée:

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

(Est-ce le droit commandes)

Ce qui suit est la sortie d'erreur complète:

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

le lien du didacticiel est rompu – robince

Répondre

9

Il semble qu'il vous manque les en-têtes Python (Python.h etc.). Assurez-vous d'installer le paquet -devel ou -dev pour votre version de Python via le gestionnaire de paquets du système d'exploitation. Cela devrait fournir les fichiers d'en-tête ...

[Edit: remarqué que vous êtes sur ubuntu, alors essayez sudo aptitude install python-dev]

+0

'sudo aptitude installer python-dev' m'a aidé! Je l'apprécie! Merci! – Temak

30

ajouter #include <Python.h> et compiler avec -I/usr/include/python2.6 ou quel que soit votre version Python est.

N'oubliez pas de lien avec -lpython2.6 -lboost_python

+4

Avait le même problème et cela l'a fixé pour moi. Juste au cas où quelqu'un utiliser Debian aswell - squeeze a un paquet python-dev et python2.6-dev (ça m'a coûté 5 minutes de plus pour chercher un correctif;) – tr9sh

+0

dans mon cas, j'ai eu le même problème, ça n'a pas pu J'ai trouvé pyconfig.h donc j'ai fait 'g ++ -shared -c -o greet.so -fPIC greet.cpp -lpython2.7 -lboostpython -I/usr/local/include/python2.7' –

3

Construire un grand programme en exécutant des commandes individuelles comme ça peut rapidement devenir très compliqué. Vous pouvez utiliser un système de construction comme CMake pour trouver les dépendances et trier les commandes du compilateur pour vous.

Le minimum CMakeLists.txt utiliser CMake avec un projet python boost est ceci:

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

Bien qu'il soit assez tard, mais encore, voici ma réponse:

Assurez-vous que vous avez la libboost-Python- bibliothèques de dev installé:

sudo apt-get install libboost-python-dev 

Cela a fait l'affaire pour moi.

Questions connexes