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 pythoncoreLogré 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