Ich verwende das HTParse.c-Modul für eines meiner C-Projekte. Jedoch, wenn sie mitunbekannter Typname BOOL-Kompilierfehler mit Linked Headerfile
gcc -o project project.c -lpthread
Kompilieren erhalte ich die folgenden Compiler-Fehler aus der Header-Datei:
In file included from Gserve.c:12:0:
/usr/local/include/w3c-libwww/HTParse.h:117:8: error: unknown type name ‘BOOL’
extern BOOL HTURL_isAbsolute (const char * url);
^
/usr/local/include/w3c-libwww/HTParse.h:192:8: error: unknown type name ‘BOOL’
extern BOOL HTCleanTelnetString (char * str);
^
Ich habe stdbool.h mit C99 enthalten und dass C90 nicht den boolean-Datentyp . Auch nach dem Einfügen dieses Headers bleiben die Fehler bestehen. Ich habe diese Header wie folgt enthalten:
#include<stdbool.h>
#include<w3c-libwww/HTParse.h>
Konnte etwas während der Installation der Bibliothek schief gelaufen sein? Ich habe nichts Verdächtiges in der sehen, wenn macht jedoch habe ich am Ende einige Fehler bemerken ‚sudo make install‘ ...
collect2: error: ld returned 1 exit status
Makefile:660: recipe for target 'libapp_2' failed
make[2]: *** [libapp_2] Error 1
make[2]: Leaving directory '/usr/local/src/w3c-libwww- 5.4.0/Library/Examples'
Makefile:174: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/usr/local/src/w3c-libwww-5.4.0/Library'
Makefile:263: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1
ich bin mit Ubuntu 15.10.
Haben Sie irgendwelche Ideen, dies zu beheben?
Vielen Dank!
"Ich habe gelesen, dass stdbool.h mit C99 enthalten und dass C90 den booleschen Datentyp nicht unterstützt" - Nun, 'BOOL' ist von * weder *. Es ist normalerweise ein Makro, das in einem * Windows * -Header als 'int' definiert ist, oder ein Kompatibilitätsheader zum Kompilieren auf Nicht-Windows-Plattformen. Es scheint, du hast * weder *. – WhozCraig
Haben Sie andere # include-Anweisungen, bevor diese zitiert werden? Können Sie eine Datei kompilieren, die nur aus '#include' besteht? –