error: unknown type name ‘bool’

Meepo picture Meepo · Nov 15, 2011 · Viewed 201.6k times · Source

I downloaded the source code and wanted to compile the file of scanner. It produces this error:

[meepo@localhost cs143-pp1]$ gcc -o lex.yy.o lex.yy.c -ll
In file included from scanner.l:15:0:
scanner.h:59:5: error: unknown type name ‘bool’
In file included from scanner.l:16:0:
utility.h:64:38: error: unknown type name ‘bool’
utility.h:74:1: error: unknown type name ‘bool’
In file included from scanner.l:17:0:
errors.h:16:18: fatal error: string: No such file or directory
compilation terminated.

And I tried to use different complier to compile it, but it appeared different errors.

[meepo@localhost cs143-pp1]$ g++ -o scan lex.yy.c -ll
/usr/bin/ld: cannot find -ll
collect2: ld returned 1 exit status

My os is 3.0-ARCH, I don't know why this happened. How do I fix the error?

Answer

user978122 picture user978122 · Nov 15, 2011

C90 does not support the boolean data type.

C99 does include it with this include:

#include <stdbool.h>