2016-07-21 15 views
3

Ich versuche, libpcap mit Cross-Compilator Arm-Linux-GCC zu kompilieren. Wenn ich laufe ‚make‘ bekomme ich einen Fehler:Widersprüchliche Typen während der Kompilierung von libpcap

./pcap-linux.c:254:14: conflicting types for socklen_t /usr/arm-linux-gnueabi/include/unistd.h:275:21: note previous declaration of 'socklen_t' 

ich auch habe versucht, es zu kompilieren gemeinsamen Verwendung von gcc, aber ich habe den gleichen Fehler. Ich arbeite an Ubuntu. Wie dieses Problem zu lösen

Antwort

3

pcap-linux.c einen Alias ​​in der nächsten Weise macht:

#ifndef HAVE_SOCKLEN_T 
typedef int  socklen_t; 
#endif 

Sie sollten -DHAVE_SOCKLEN_T passieren oder

#define HAVE_SOCKLEN_T 

zu einem gewissen Header setzen Compiler (in der Regel wird sie automatisch durch configure getan Skript oder ähnliches, das erzeugt).

Scheint so, als ob Sie den Konfigurationsschritt übersprungen haben, seien Sie also bereit, weitere seltsame Buildfehler zu sehen.

+0

danke für Ihre Antwort. Es gibt ein seltsames Problem. Wenn ich HAVE_SOCKLEN_T in der Datei oder in Makefile in DEFS definiere, habe ich immer noch den gleichen Fehler – kmbm

+0

Was sagt 'configure --help' Ihnen? – alk

+0

leider nichts – kmbm