Tengo un archivo de python que quiero ejecutar en la pizarra. Por lo tanto, quiero incrustar el intérprete de python (escrito en C) en la pizarra. Me las arreglé para escribir el proyecto de C separado que ejecuta el archivo de Python. Se compila y se ejecuta como yo quiero. Aquí está el archivo make para el mismo: -
CC=gcc
CFLAGS=-I python3.5 -I config -I . -c -w
LDFLAGS= -lpython3.5m -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions
all: classifier trainer test link
test:
$(CC) $(CFLAGS) test.c
trainer: Trainer.c
$(CC) $(CFLAGS) Trainer.c
$(CC) Trainer.o $(LDFLAGS) -o Trainer
.ONESHELL:
classifier: Classifier.c
$(CC) $(CFLAGS) Classifier.c
# $(CC) Classifier.o $(LLFLAGS) -o Classifier
link:
$(CC) test.o Classifier.o $(LDFLAGS) -o test
clean:
rm -f Trainer.o Trainer Classifier.o Classifier
enlace es mi directorio completo del proyecto "hola" (no es el de los ejemplos).
Incluí "Classifier.h" en mi "hello.c" y obtengo los siguientes errores: enlace
Opciones de inclusión del compilador (Sin pre-inclusión):
"${CG_TOOL_ROOT}/include"
"${workspace_loc:/${ProjName}/TerrainPredict}"
"${workspace_loc:/${ProjName}/TerrainPredict/config}"
"${workspace_loc:/${ProjName}/TerrainPredict/python3.5}"
"${SW_ROOT}/examples/boards/ek-tm4c1294xl"
"${SW_ROOT}"
Rutas de búsqueda de archivos del enlazador:
"libc.a"
"${workspace_loc:/${ProjName}/TerrainPredict/libterrainclf.a}"
"${SW_ROOT}/driverlib/ccs/Debug/driverlib.lib"
y:
"${CG_TOOL_ROOT}/lib"
"${workspace_loc:/hello/TerrainPredict/libterrainclf.a}"
"${CG_TOOL_ROOT}/include"
¿Estoy equivocado con algunas de mis configuraciones? ¿O es esto algún problema con el intérprete de python? Cualquier ayuda es muy apreciada
EDIT : -
Como sugirió @KevinDTimm, el problema es que no hay pyconfig.h para mi entorno . Python requiere este archivo para definir variables importantes como la fuente del reloj del sistema. He intentado eliminar los controles de seguridad existentes en pyconfig.h
. El primer error que recibo está en pytime.h
como:
"_PyTime_t need signed 64-bit integer type"
Lo que fue más a causa del siguiente bloque de código:
#ifdef PY_INT64_T
/* _PyTime_t: Python timestamp with subsecond precision. It can be used to
store a duration, and so indirectly a date (related to another date, like
UNIX epoch). */
typedef PY_INT64_T _PyTime_t;
#define _PyTime_MIN PY_LLONG_MIN
#define _PyTime_MAX PY_LLONG_MAX
#else
# error "_PyTime_t need signed 64-bit integer type"
#endif
Me parece que necesita una variable que almacene el tiempo. Necesito ayuda para asignar esa variable.