【发布时间】:2021-08-10 21:30:29
【问题描述】:
我在 Windows 中构建一个简单的 C++ 项目时遇到了一些问题。
我想做什么:
- 用 C++ 运行一些简单的代码
- 使用 matplotlibcpp 库打印图表。
我使用 vcpkg 安装了 matplotlibcpp 库。 我对 matplotlibcpp.h 标头(包括 Python.h)有疑问。
我收到此错误: 错误代码 1083 - 无法打开包含文件:“Python.h”:没有这样的文件或目录。
我的 PC 上安装了 anaconda,并且 Python 的路径已添加到 Windows 中的环境 PATH 中。
我的代码:
#include "matplotlibcpp.h"
using namespace std;
namespace plt = matplotlibcpp;
int main()
{
cout << "Hello!" << endl;
plt::plot({ 1,3,2,4 });
plt::show();
return 0;
}
我的 CMakeList.txt:
cmake_minimum_required (VERSION 3.8)
project ("MyProj" VERSION 1.0)
include_directories(include)
# Add source to this project's executable.
file(GLOB_RECURSE SOURCES "src/*.cpp")
add_executable (MyEx ${SOURCES} "main.cpp" "main.h")
find_path(MATPLOTLIB_CPP_INCLUDE_DIRS "matplotlibcpp.h"
HINTS
C:/Users/claudiop/dev/vcpkg/vcpkg/installed/x86-windows/include/matplotlibcpp.h)
target_include_directories(MyEx PRIVATE ${MATPLOTLIB_CPP_INCLUDE_DIRS})
我试图遵循这篇文章中的指示 can't include Python.h in visual studio 但我没能解决问题。
有什么建议/帮助/提示吗?
【问题讨论】:
-
使用
target_include_directories将包含matplotlibcpp.h标头的目录添加到包含目录列表中。您需要对包含Python.h标头的目录执行相同的操作。 “Python 的路径已添加到 Windows 中的环境 PATH” - PATH 变量用于搜索可执行文件和库。它不影响搜索头文件。请注意,除了在编译可执行文件时添加包含目录之外,您还需要将可执行文件与适当的库链接。 -
非常感谢您的回答。添加
find_path(PYTHON_INCLUDE_DIRS "Python.h" HINTS C:/Users/claudiop/AppData/Local/Continuum/anaconda3/pkgs/python-3.7.4-h5263a28_0/include/Python.h) target_include_directories(MyEx PRIVATE ${PYTHON_INCLUDE_DIRS})我仍然得到同样的错误 -
要求 Visual Studio 显示为构建项目而执行的确切命令行:stackoverflow.com/questions/6373841/…。检查,该命令行实际上包含带有目录的包含选项,该目录又包含
Python.h标头。 -
这是来自输出窗口的错误,详细选项打开:1>----- 构建开始:项目:ZERO_CHECK,配置:调试|x64 ------ 2>- ----- 构建开始:项目:AUF,配置:Debug|x64 ------ 2> main.cpp 2>C:\Users\claudiop\dev\vcpkg\vcpkg\packages\matplotlib-cpp_x86-windows \include\matplotlibcpp.h(5,10):致命错误 C1083:无法打开包含文件:'Python.h':没有这样的文件或目录 ========== 构建:1 成功,1 失败, 0 个最新,0 个已跳过 ==========
-
嗯,这不是用于编译
main.cpp的命令行。可能,它应该是显示此命令行的其他选项。但我不知道如何在 Visual Studio 中制作它。
标签: python c++ windows matplotlib cmake