最近由于项目需求需要爱x265中调用python脚本,记录一下大致的使用过程
一、编译
编译x265/VTM/HM时候,需要在CMakeLists.txt中添加如下语句
# python3
include_directories("D:/Anaconda/include/")
link_libraries("D:/Anaconda/libs/python36.lib")
因为我下载的是Anaconda,所以这里需要包含的是anaconda下的路径。添加完成后,正常编译就行
二、C++调用Python的脚本
编译完成后,用VS2017打开工程
1、添加python头文件
#include
2、在使用python库函数之前应该初始化python接口
Py_Initialize();
与之对应的是,调用完python脚本之后,记得释放python接口:
Py_Finalize();
注意:初始化和释放这两个函数整个程序中只能调用一次,所以需要放在整个程序最开始和最后的地方,如果出现多次调用的情况,则可能会发生访问冲突或者找不到.dll等的错误。
3、切换python脚本下的工作路径
PyRun_SimpleString("import sys");
PyRun_SimpleString("import os");
PyRun_SimpleString("os.chdir('./Net')");
PyRun_SimpleString("sys.path.append(&