Python.h:没有这样的文件或目录

新手上路,请多包涵

我最近在运行 Ubuntu 12.04 LTS 的 Macbook Pro 上安装了用于 C++ 开发的 KDevelop 4。

我想在我的 C++ 代码中嵌入 Python 应用程序。为此,需要包含 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不包含头文件的问题。因此,我将相关文件夹添加到包含路径中,KDevelop 通过删除上面代码中第二个包含语句下方的红色下划线立即意识到这一点。

但是,问题仍然存在。我犯了同样的错误。希望你们能提供任何帮助或意见:-)

非常感谢。

编辑:我之前错过的一些细节是 KDevelop 正在为我的项目使用 cmake。我想我的问题发生的原因是因为 cmake 不知道适当的编译器和链接器路径。对于为 cmake 设置正确路径的任何帮助,我将不胜感激。

原文由 Shubham Goyal 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 943
2 个回答

在您的 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

原文由 Fraser 发布,翻译遵循 CC BY-SA 3.0 许可协议

您希望在编译行中包含以下内容:

 `python-config --cflags`

这在链接线上:

 `python-config --ldflags`

原文由 Nikolai Fetissov 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题