pranav@pranav-Inspiron-1545:~/dependency/tiff-3.8.2$ make
Making all in port
make[1]: Entering directory `/home/pranav/dependency/tiff-3.8.2/port'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/pranav/dependency/tiff-3.8.2/port'
Making all in libtiff
make[1]: Entering directory `/home/pranav/dependency/tiff-3.8.2/libtiff'
make all-am
make[2]: Entering directory `/home/pranav/dependency/tiff-3.8.2/libtiff'
if /bin/bash ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -g -O2 -Wall -W -MT tif_jpeg.lo -MD -MP -MF ".deps/tif_jpeg.Tpo" -c -o tif_jpeg.lo tif_jpeg.c; \
then mv -f ".deps/tif_jpeg.Tpo" ".deps/tif_jpeg.Plo"; else rm -f ".deps/tif_jpeg.Tpo"; exit 1; fi
libtool: compile: gcc -DHAVE_CONFIG_H -I. -I. -I. -I. -g -O2 -Wall -W -MT tif_jpeg.lo -MD -MP -MF .deps/tif_jpeg.Tpo -c tif_jpeg.c -fPIC -DPIC -o .libs/tif_jpeg.o
In file included from /usr/local/include/jpeglib.h:27:0,
from tif_jpeg.c:87:
/usr/local/include/jmorecfg.h:263:16: error: expected identifier before numeric constant
tif_jpeg.c: In function 'JPEGVSetField':
tif_jpeg.c:1578:8: warning: suggest braces around empty body in an 'if' statement [-Wempty-body]
make[2]: *** [tif_jpeg.lo] Error 1
make[2]: Leaving directory `/home/pranav/dependency/tiff-3.8.2/libtiff'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/pranav/dependency/tiff-3.8.2/libtiff'
make: *** [all-recursive] Error 1
答案 0 :(得分:17)
修改档案:/usr/local/include/jmorecfg.h
更改行:
typedef enum { FALSE = 0 , TRUE = 1 } boolean;
为:
typedef enum { false= 0 , true= 1 } boolean;
然后,取得成功。
答案 1 :(得分:0)
我在编译安装emacs时遇到了这个错误,我不认为这是一个完美的解决方案,我的解决方案是在更改之前更改名为jpeglib.h的源文件:
# include <jpeglib.h>
后:
#define HAVE_BOOLEAN
typedef unsigned char boolean;
# include <jpeglib.h>
#undef HAVE_BOOLEAN
此解决方案正常工作。