Питон.ч: нет такого файла или каталога
недавно я установил KDevelop 4 для разработки C++ на моем Macbook Pro под управлением Ubuntu 12.04 LTS.
Я хочу встроить приложение Python в свой код c++. Для этого нужно включить Python.файл заголовка H. Я так и сделал.
#include <iostream>
#include <Python.h>
int main(int argc, char **argv) {
Py_Initialize();
return 0;
}
однако при запуске я получил следующий ответ от IDE:
fatal error: Python.h: No such file or directory
тем не менее, я нашел проблему достаточно скоро. Я не загрузил пакет python-dev. Я так и сделал. Я снова побежал, но опять та же ошибка. Итак, я подумал, что это должна быть проблема с заголовочным файлом, не включенным KDevelop. Таким образом, я добавил соответствующую папку в include path, и KDevelop сразу же распознал это, удалив красное подчеркивание под вторым оператором include в коде выше.
но все же проблема остается. Я получаю ту же ошибку. Был бы признателен за любую помощь или входы, которые вы, ребята, можете предоставить : -)
Спасибо большое.
EDIT: некоторые детали то, что я пропустил ранее, - это то, что KDevelop использует cmake для моего проекта. Я думаю, причина моей проблемы заключается в том, что cmake не знает соответствующих путей компилятора и компоновщика. Я был бы признателен за любую помощь в настройке правильных путей для cmake.
6 ответов
в CMakeLists.txt, попробуйте добавить следующее:
find_package(PythonLibs REQUIRED)
include_directories(${PYTHON_INCLUDE_DIRS})
target_link_libraries(<your exe or lib> ${PYTHON_LIBRARIES})
для получения подробной информации о командах выполните:
cmake --help-module FindPythonLibs
cmake --help-command find_package
cmake --help-command include_directories
cmake --help-command target_link_libraries
sudo apt-get install python2.7-dev
работал для меня на " Python.h: нет такого файла или каталога " issue
вы хотите включить в строку компиляции следующее:
`python-config --cflags`
и это на линии связи:
`python-config --ldflags`
скорее всего Python.h
не входит в путь включения ваших систем сборки. Вы можете узнать, где ваш Python.h-путем запуска
dpkg -L python-dev | grep Python.h
Это также проверит, что пакет python-dev фактически установил Python.h.
у меня здесь нет kdevelop, но у большинства IDEs есть параметр, где вы можете указать путь включения, используемый системой сборки, и вы должны иметь возможность добавить путь, где Python.H лежит там.
EDIT:
Как Николай подразумевал, что вам также нужно будет добавить правильный путь к библиотеке для этапа связывания. (Вывод python-config --ldflags).
Я предполагаю, что он уже установлен. Найдите путь с помощью:
find / -iname python.h
и когда вы это сделали, при компиляции add
-I python_h_path
для пользователей Linux Ubuntu Putty попробуйте следующее:
sudo apt-get update
sudo apt-get install python-dev
затем скомпилировать его
gcc -o check xyz.c -I/usr/include/python2.7/ -lpython2.7
запустить
./check