Compilando Python a una biblioteca estática y usando pythoncore.lib

Estoy intentando construir Python 2.7 como un archivo .lib único estático.

Ya hice los siguientes cambios en el código fuente de Python:

Cambia al modo "Liberar".Cambie todos los proyectos DLL a la biblioteca estática (.lib) y establezca la biblioteca de tiempo de ejecución a / MTAgregue la definición de preprocesador Py_NO_ENABLE_SHARED a python y pythoncore

Logré compilar el proyecto pythoncore en pythoncore.lib (alrededor de 11 mb), pero al intentar compilar el proyecto python obtengo los siguientes errores de enlace:

LNK2019 error: símbolo externo sin resolver __Py_ActivateActCtx referencia en función __PyImport_GetDynLoadFunc C: \ Python-2.7.3_Source \ PCbuild \ pythoncore.lib (dynload_win.obj) LNK2019 error: símbolo externo sin resolver __Py_DeactivateActCtx referencia en función __PyImport_GetDynLoadFunc C: \ Python-2.7.3_Source \ PCbuild \ pythoncore.lib (dynload_win.obj) error LNK2019: símbolo externo no resuelto __Py_hgidentifier al que se hace referencia en la función __PySys_Init C: \ Python/particles de los partidos de la red de artículos de la red de artículos de la red, etc. __PySys_Init C: \ Python-2.7.3_Source \ PCbuild \ pythoncore.lib (sysmodule.obj) error LNK2019: símbolo externo no resuelto _Py_GetBuildInfo en el que se relaciona la función _Py_GetVersion C: \ Python-2.7.3_Sp.

¿Alguien puede ayudarme?

Gracias,

Idan

-------------------- actualización ----------------------------- --------

Me las arreglé para hacerlo funcionar ... si ayudaría a alguien, estos son los cambios que hice:

AñadirModules\getbuildinfo.c al proyecto pythoncore.EnPC\dl_nt.c mover esta linea#ifdef Py_ENABLE_SHARED de la línea 14 a la línea 79 (justo arriba de DllMain).

... ¡y eso es!

Ahora puede enlazar a pythoncore.lib :)

Idan

Respuestas a la pregunta(0)

Su respuesta a la pregunta