4
votes

I'm kinda new to C, and I can't seem to do what I want. I need to make some Python bindings for C functions, and I think I can figure this out. But there's one little line that WILL NOT WORK.

#include <Python.h>

I get this:

fatal error #1035: Can't find include file <Python.h>.

I've tried everything. I just stuck Python.h in the same folder as my project first. Then I put the file name in Library and Object files under linker. Then I did the same with python31.lib, then I put the directory python31.lib is in in my PATH variable. Nothing will let me get past this line. I see a lot of solutions on the net for Linux, but none for Windows. Please help!

2
#include "Python.h" will find it if it's in the same directory. Linking is a different issue. Check your include path. What command line are you passing to GCC? - nmichaels
@nmichaels Looks like he's building in Windows, so GCC is irrelephant. - Santa
If all you need to do is generate Python bindings for C functions, use code.google.com/p/ctypesgen, it can probably do it automatically. - agf
Oh! Thanks man! I thought I was screwed then I read that it should find the file if it's in the same directory as my source (it didn't). But I thought I'd follow through and check my include path (which I didn't even know existed). So I added the Python include path to the list of include paths, and did the same with Python libraries (to the libraries paths), and it compiled without any issues. Why have I not found stack overflow earlier??? You guys are the best! - Void Star
@Santa Thanks for the irrelephant. Next year can I get an irrrhinoceros? - nmichaels

2 Answers

3
votes

Whoops, answered in a comment. Here's a more answerly answer.

Make sure you put Python.h in your include path and the library in your library path.

3
votes

Try:

sudo apt-get install python2.6-dev

if your Python version is python2.6