安装tiff-3.8.2时出错

时间:2013-03-02 08:22:03

标签: libtiff

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

2 个答案:

答案 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

此解决方案正常工作。