Python incrustado en c ++

Entorno:
win10
Visual Studio 2017
python3.6.5

Enfocar:

  1. Conozca su ruta de instalación de Python
  2. Busque el directorio libs en la ruta de instalación de Python, copie python36.lib en el directorio libs y cambie el nombre de la copia a python36_d.lib

Proceso:
establezca los parámetros en las propiedades del proyecto vs de la siguiente manera:

  1. Agregue el directorio de inclusión de python al directorio de inclusión en el directorio de VC ++, agregue el directorio libs de python al directorio de la biblioteca, agregue python36.lib, python36_d.lib a las dependencias adicionales en la entrada del vinculador, y alguien en Internet agregó el este último con éxito ¡Sí, los agregué todos!
  2. código python:
def Hello():
    print("Hello")


def Add(a, b):
    return a + b
  1. código c ++:
# include <Python.h>
using namespace std;

int main()
{
    
     
	Py_Initialize();              //初始化,创建一个Python虚拟环境
	if (Py_IsInitialized())
	{
    
    
		PyObject* pModule = NULL;
		PyObject* pFunc = NULL;
		pModule = PyImport_ImportModule("demo1");  //参数为Python脚本的文件名
		if (pModule)
		{
    
    
			pFunc = PyObject_GetAttrString(pModule, "Hello");   //获取函数
			PyEval_CallObject(pFunc, NULL);           //执行函数
		}
		else
		{
    
    
			printf("导入Python模块失败...\n");
		}
	}
	else
	{
    
    
		printf("Python环境初始化失败...\n");
	}
	Py_Finalize();
}
  1. El nombre del archivo de código de Python es demo1 y la función es ¡Hola! Ejecute c ++ para generar la solución primero, y luego coloque el archivo python debajo del archivo .exe que ha sido compilado con éxito por c ++, ¡y se ejecutará correctamente!
    Inserte la descripción de la imagen aquí
    ¡El resultado final es el contenido de la impresión del archivo Python!

El método anterior es adecuado para la máquina con el entorno de Python instalado, pero para la máquina que no puede ejecutarse sin el entorno de Python, la solución es empaquetar el entorno de Python juntos. Copie los directorios DLL y Lib en el directorio de instalación de Python al archivo en ejecución. En el directorio donde se encuentra sln, luego copie el include y las bibliotecas en el directorio de instalación de Python, reemplace el directorio de inclusión, el directorio de la biblioteca y la ruta del vinculador en el directorio VC ++ con la ruta almacenada después de copiar para completar el empaquetado. Ejecutar en una computadora sin entorno python!

Supongo que te gusta

Origin blog.csdn.net/weixin_43868576/article/details/108185019
Recomendado
Clasificación