imagick-3.1安装没有那个文件或目录 expected specifier-qualifier-list before
用Imagemagick+imagick.so两年了,今天重编竟然遇到如下错误:在包含自 /home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:21 的文件中:
/home/lvbenwei/source/imagick-3.1.0RC2/php_imagick.h:49:31: 错误:wand/MagickWand.h:没有那个文件或目录
In file included from /home/lvbenwei/source/imagick-3.1.0RC2/php_imagick_file.h:24,
from /home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:22:
/home/lvbenwei/source/imagick-3.1.0RC2/php_imagick_defs.h:72: 错误:expected specifier-qualifier-list before ‘MagickWand’
/home/lvbenwei/source/imagick-3.1.0RC2/php_imagick_defs.h:80: 错误:expected specifier-qualifier-list before ‘DrawingWand’
/home/lvbenwei/source/imagick-3.1.0RC2/php_imagick_defs.h:86: 错误:expected specifier-qualifier-list before ‘PixelIterator’
/home/lvbenwei/source/imagick-3.1.0RC2/php_imagick_defs.h:98: 错误:expected specifier-qualifier-list before ‘PixelWand’
In file included from /home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:22:
/home/lvbenwei/source/imagick-3.1.0RC2/php_imagick_file.h:43: 错误:‘MaxTextExtent’ 未声明 (不在函数内)
在包含自 /home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:22 的文件中:
/home/lvbenwei/source/imagick-3.1.0RC2/php_imagick_file.h:77:32: 警告:文件未以空白行结束
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c: In function ‘php_imagick_file_init’:
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:75: 错误:‘MagickPath’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:75: 错误:(即使在一个函数内多次出现,每个未声明的标识符在其
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:75: 错误:所在的函数内只报告一次。)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:99: 错误:‘HeadPath’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:100: 错误:‘TailPath’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c: In function ‘php_imagick_read_image_using_imagemagick’:
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:124: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:124: 错误:‘MagickFalse’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:128: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:135: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:137: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c: In function ‘php_imagick_read_image_using_php_streams’:
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:144: 错误:‘MagickBooleanType’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:144: 错误:expected ‘;’ before ‘status’
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:177: 错误:‘status’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:177: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:179: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:184: 错误:‘MagickFalse’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:189: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:196: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c: In function ‘php_imagick_write_file’:
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:247: 错误:‘MagickBooleanType’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:247: 错误:expected ‘;’ before ‘status’
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:258: 错误:‘status’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:258: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:260: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:264: 错误:‘MagickFalse’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c: In function ‘php_imagick_stream_handler’:
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:277: 错误:‘MagickBooleanType’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:277: 错误:expected ‘;’ before ‘status’
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:306: 错误:‘status’ 未声明 (在此函数内第一次使用)
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:306: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:310: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:314: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:318: 错误:‘php_imagick_object’ 没有名为 ‘magick_wand’ 的成员
/home/lvbenwei/source/imagick-3.1.0RC2/imagick_file.c:326: 错误:‘MagickFalse’ 未声明 (在此函数内第一次使用)
make: *** [imagick_file.lo] 错误 1
google后得到解决方案:
Java代码 收藏代码
tar -xzvf imagick-3.1.0RC2.tgz
cd imagick-3.1.0RC2
/usr/local/php-5.3/bin/phpize
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
./configure --with-php-config=/usr/local/php-5.3/bin/php-config
make
sudo make install