6

Here's my simple first attempt at a python extension using boost. Can someone help me to understand what's causing the compilation error?


#include <iostream>
using namespace std; 
void say_hello(const char* name) {
    cout << "Hello " <<  name << "!\n";
}

#include <boost/python/module.hpp>
#include <boost/python/def.hpp>
using namespace boost::python;

BOOST_PYTHON_MODULE(hello)
{
    def("say_hello", say_hello);
}

user@host:~$g++ main.cpp -o test.so

In file included from /usr/include/boost/python/detail/prefix.hpp:13:0, from /usr/include/boost/python/module.hpp:8, from main.cpp:8: /usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory compilation terminated.
0

3 Answers 3

14

/usr/include/boost/python/detail/wrap_python.hpp:50:23: fatal error: pyconfig.h: No such file or directory compilation terminated.

This line tells exactly why it doesn't work. Your compiler doesn't know where is the pyconfig.h file. You have two options here:

  1. place pyconfig.h in a location that g++ knows about (i.e. your project's directory)
  2. add -I DIRECTORY (this is capital i, not lowercase L) flag to g++ that will make g++ search DIRECTORY for header files

g++ -I /path/to/my/include/files main.cpp

Sign up to request clarification or add additional context in comments.

Comments

0

If you face this problem in your NetBeans then just add "/usr/include/python 2.7/" folder in your NetBeans additional include option. You will get this additional include option in properties.

Comments

-3

You need to place pyconfig.h in same directory

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.