Компилятор не может найти Python.h

Я новичок в C, и я не могу делать то, что хочу. Мне нужно сделать некоторые привязки Python для функций C, и я думаю, что смогу это понять. Но есть одна маленькая строчка, которая НЕ БУДЕТ РАБОТАТЬ.

#include <Python.h>

Я получаю это:

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

Я пробовал все. Сначала я просто поместил Python.h в ту же папку, что и мой проект. Затем я помещаю имя файла в библиотеки и файлы объектов под компоновщиком. Затем я сделал то же самое с python31.lib, затем я поместил каталог python31.lib в свою переменную PATH. Ничто не позволит мне пройти эту черту. Я вижу в сети много решений для Linux, но ни одного для Windows. Пожалуйста помоги!


person Void Star    schedule 19.08.2011    source источник
comment
#include "Python.h" найдет его, если он находится в том же каталоге. Связывание — это отдельная тема. Проверьте свой путь включения. Какую командную строку вы передаете в GCC?   -  person nmichaels    schedule 19.08.2011
comment
@nmichaels Похоже, он строит в Windows, так что GCC не имеет значения.   -  person Santa    schedule 19.08.2011
comment
Если все, что вам нужно сделать, это сгенерировать привязки Python для функций C, используйте code.google.com/p/ ctypesgen, возможно, он может сделать это автоматически.   -  person agf    schedule 19.08.2011
comment
Ой! Спасибо чувак! Я думал, что облажался, но потом прочитал, что он должен найти файл, если он находится в том же каталоге, что и мой источник (это не так). Но я подумал, что выполню и проверю свой путь включения (о котором я даже не знал). Поэтому я добавил путь включения Python в список путей включения и сделал то же самое с библиотеками Python (в пути библиотек), и он скомпилировался без каких-либо проблем. Почему я раньше не обнаружил переполнения стека??? Вы, ребята, лучшие!   -  person Void Star    schedule 19.08.2011
comment
Как отметить этот вопрос как ответ?   -  person Void Star    schedule 19.08.2011
comment
@Santa Спасибо за безразличие. Могу ли я в следующем году получить ирриноцероса?   -  person nmichaels    schedule 19.08.2011


Ответы (2)


Упс, ответил в комментарии. Вот более развернутый ответ.

Убедитесь, что вы указали Python.h в пути включения и библиотеку в пути к библиотеке.

person nmichaels    schedule 19.08.2011
comment
Теперь на всю вечность люди смогут решить эту глупую проблему с помощью Google :) - person Void Star; 19.08.2011

Пытаться:

sudo apt-get install python2.6-dev

если ваша версия Python python2.6

person andy    schedule 03.03.2012
comment
Вероятно, это зависит от того, что компилируется, но простой sudo apt-get install python-dev у меня хорошо работал. - person Joel Purra; 26.10.2012