c++ 与 python代码的互相调用

c++调用python代码

环境配置

安装Visual Studio2017

参考这篇博客
用MingW会有很多坑

创建Visual Studio项目文件

创建控制台应用

如图
c++ 与 python代码的互相调用

配置项目

c++ 与 python代码的互相调用

属性 —— C++ —— 附加包含目录

博主的Python目录在 D:\ProgramData\Anaconda3\envs\yolo
因此C++附加包含目录为 D:\ProgramData\Anaconda3\envs\yolo\include
c++ 与 python代码的互相调用

属性 —— 链接器 —— 附加库目录

因此链接器附加库目录为 D:\ProgramData\Anaconda3\envs\yolo\libs
c++ 与 python代码的互相调用

python37_d.lib

打开D:\ProgramData\Anaconda3\envs\yolo\libs
博主Python3版本为python37
因此复制python37.lib 改名为python37_d.lib
c++ 与 python代码的互相调用
继续打开VS2017
属性——链接器——输入——附加依赖项
输入刚才重命名的lib文件名
c++ 与 python代码的互相调用

报错:Fatal Python error

若出现
Fatal Python error: Py_Initialize: unable to load the file system codec ModuleNotFoundError: No module named 'encodings
则需要设置系统环境变量
PYTHONHOME = Python文件夹
PYTHONPATH = Python文件夹 \libs
c++ 与 python代码的互相调用

Python调用C++函数

未完待续