Compile AMT (Tunelización automática de multidifusión) en Linux
Frecuentes
Visto 227 veces
0
Hay un viejo proyecto sobre la tunelización automática de multidifusión (AMT). Estoy intentando compilarlo en Ubuntu 11.10, pero aparece un error.
- cantidad de cd
- . / Configure
- para lograr
Error:
Haciendo todo en test_patricia make[1]: Ingresando al directorio `/home/ubuntu/amt/test_patricia' -I../libmem -I../libpatricia -I/usr/local/include -g -O2 -c `test - f 'prueba-patricia.c' || echo './'`test-patricia.c test-patricia.c: En función 'pat2my': test-patricia.c:53:23: error: conversión de puntero a entero de distinto tamaño [-Werror=pointer-to -int-cast] cc1: todas las advertencias se tratan como errores make[1]: *** [test-patricia.o] Error 1 make[1]: Dejando el directorio `/home/ubuntu/amt/test_patricia' make: * ** [todo recursivo] Error 1
línea de código:
mynode en línea estático * pat2my (patext *ext) { return((mynode *)((int) ext - offsetof(mynode, extkey))); }
¿Alguna solución? Cómo eliminar el error en el código o cómo eliminar la opción Werror en make.
0 Respuestas
No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas c makefile multicast or haz tu propia pregunta.
Cambiar
(int)
a(void *)
Creo - lukecampbellParece que está compilando un código escrito para un sistema de 32 bits en una máquina de 64 bits. Es por eso que sizeof(int) y sizeof(void*) son diferentes y, por lo tanto, el error. Así que tal vez puedas probar (long)ext en lugar de (int)ext. - MetallicPriest
Eliminé el indicador de error en los archivos MAKE, pero al final, hay menos documentación, no sé cómo probarlo... - jubi4dition