¿Por qué no se aplica férula curl/curlbuild.h?
Pregunta
Escribí un fornol.c
programa que usa la biblioteca curl y, por lo tanto, incluye lo siguiente:
#include <curl/curl.h>
quiero correr splint
En mi programa, pero este es el error que recibo:
$ splint fornol.c
Splint 3.1.2 --- 03 May 2009
/usr/include/curl/curlbuild.h:165:33: Parse Error:
Suspect missing struct or union keyword: socklen_t :
int. (For help on parse errors, see splint -help parseerrors.)
*** Cannot continue.
La línea sospechosa en curlbuild.h
Se ve como esto:
/* Data type definition of curl_socklen_t. */
typedef CURL_TYPEOF_CURL_SOCKLEN_T curl_socklen_t;
Dónde CURL_TYPEOF_CURL_SOCKLEN_T
ha sido #define
D para ser socklen_t
.
¿Estoy haciendo algo mal aquí? ¿Qué banderas debo pasar a la férula para que funcione en mi programa?
Solución
Creo que encontré la solución. Resulta que sys/socket.h
no esta debajo /usr/include
en mi máquina (que recientemente actualicé a Ubuntu 11.10).
Tuve que agregar la siguiente bandera a splint
:
-I/usr/include/x86_64-linux-gnu
Y luego funcionó.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow