用HEIC编译ImageMagick的问题

Iai*_*940 6 imagemagick

我遇到了与如何为 Image Magick 7.0.7 安装委托库的原始海报类似的问题

  • 构建 7.0.8-37 后没有代表。

我安装了所有 240 MB 的奇数库和包含libheif-dev.

当我尝试使用单个(大)命令时,它因“404”错误而失败,因此我使用了 IM 网站上的说明。

'make' 失败

.....
CC       coders/MagickCore_libMagickCore_7_Q16HDRI_la-heic.lo
coders/heic.c: In function ‘WriteProfile’:
coders/heic.c:546:18: warning: implicit declaration of function ‘heif_context_add_exif_metadata’; did you mean ‘heif_image_handle_get_metadata’? [-Wimplicit-function-declaration]
.... etc
 *** [coders/MagickCore_libMagickCore_7_Q16HDRI_la-heic.lo] Error 1
make[1]: Leaving directory '/home/xxxx/imagemagick_build/ImageMagick-7.0.8-39'
Makefile:5761: recipe for target 'all' failed
make: *** [all] Error 
Run Code Online (Sandbox Code Playgroud)

没有 iPhone 我决定我不需要 HEIC 并删除libheif-dev并再次尝试。

结果是一个新的 ImageMagick :

Version: ImageMagick 7.0.8-39 Q16 x86_64 2019-04-08 https://imagemagick.org
Run Code Online (Sandbox Code Playgroud)

我现在可以开始玩它了 - 至少它现在显示 jpegs。

小智 5

希望我挣扎了太久让 mogrify 启动并运行会帮助其他人。

从 Ubuntu 的全新安装中编译具有 HEIC 支持的 imagemagick:

$ sudo sed -Ei 's/^# deb-src /deb-src /' /etc/apt/sources.list
$ sudo apt-get update
$ sudo apt-get install build-essential autoconf git-core
$ sudo apt-get build-dep imagemagick libde265 libheif
$ cd /usr/src/ 
$ sudo git clone https://github.com/strukturag/libde265.git  
$ sudo git clone https://github.com/strukturag/libheif.git 
$ cd libde265/ 
$ sudo ./autogen.sh 
$ sudo ./configure 
$ sudo make –j4  
$ sudo make install 
$ cd /usr/src/libheif/ 
$ sudo ./autogen.sh 
$ sudo ./configure 
$ sudo make –j4  
$ sudo make install 
$ cd /usr/src/ 
$ sudo wget https://www.imagemagick.org/download/ImageMagick.tar.gz 
$ sudo tar xf ImageMagick.tar.gz 
$ cd ImageMagick-7* 
$ sudo ./configure --with-heic=yes 
$ sudo make –j4  
$ sudo make install  
$ sudo ldconfig  
$ mogrify --version 
# heic should appear in the Delegates line 
Run Code Online (Sandbox Code Playgroud)

其他参考资料:

https://linuxconfig.org/how-to-install-imagemagick-7-on-ubuntu-18-04-linux

https://github.com/ImageMagick/ImageMagick/issues/1470

https://github.com/strukturag/libheif/blob/master/README.md

https://github.com/strukturag/libde265/blob/master/README.md


小智 5

我最终使用了IMEI - ImageMagick Easy Install,它在 Ubuntu 20.04 上运行得很好。它可以按如下方式安装(引用自项目的 GitHub 页面):

一步式自动安装

t=$(mktemp) && \
wget 'https://dist.1-2.dev/imei.sh' -qO "$t" && \
bash "$t" && \
rm "$t"
Run Code Online (Sandbox Code Playgroud)

替代安装方法

git clone https://github.com/SoftCreatR/imei && \
cd imei && \
chmod +x imei.sh && \
./imei.sh
Run Code Online (Sandbox Code Playgroud)


zer*_*ool 3

当我尝试编译最新版本的 ImageMagick 7.0.8 时,我在 Ubuntu 18.04 下遇到了同样的问题。解决方案是从此处手动编译并安装最新版本的 libheif 。之后就编译成功了。记得先卸载Ubuntu提供的libheif默认包,libheif和libheif-dev。