首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建一个包含所有deps的GraphicsMagick的静态构建?

创建一个包含所有deps的GraphicsMagick的静态构建?
EN

Stack Overflow用户
提问于 2018-04-08 01:40:41
回答 1查看 715关注 0票数 1

我环顾了一下谷歌,看看能不能找到一个支持所有文件类型和(理想情况下)内置dcraw的静态GraphicsMagick版本。

理想情况下,它应该是完全自包含的,本质上是可移植的。

我只对macOS和Windows感到困扰( GraphicsMagick站点表明Windows构建已经是这样构建的--尽管我对dcraw不太确定)。

我是一个想在电子应用程序中使用它的web开发人员,所以我不确定正确的术语,所以请原谅上面漫无边际的任何不准确之处。

EN

回答 1

Stack Overflow用户

发布于 2019-02-05 02:52:54

对于mac,我使用以下脚本创建包含png、jpg和webp的静态版本:

代码语言:javascript
复制
# download sources
curl -L http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/1.3/GraphicsMagick-1.3.31.tar.gz | tar xvz
# zlib needed for png
curl -L http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/delegates/zlib-1.2.11.tar.gz | tar xvz
curl -L http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/delegates/libpng-1.6.28.tar.gz | tar xvz
curl -L http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/delegates/libwebp-1.0.0.tar.gz | tar xvz
curl -L http://ftp.icm.edu.pl/pub/unix/graphics/GraphicsMagick/delegates/jpegsrc.v6b2.tar.gz | tar xvz

export mydir=$(pwd)
export CPPFLAGS="-I$mydir/include"
export LDFLAGS="-L$mydir/lib"

# use `less zlib-<TAB>/configure` to discover configure options
(cd zlib-*           && ./configure --static                             --prefix=$mydir && make install)
(cd libpng-*         && ./configure --disable-shared                     --prefix=$mydir && make install)
(cd libwebp-*        && ./configure --disable-shared --enable-libwebpmux --prefix=$mydir && make install)
(cd jpeg-*           && ./configure --disable-shared                     --prefix=$mydir && make install)
(cd GraphicsMagick-* && ./configure --disable-installed                  --prefix=$mydir && make install)
./bin/gm version
ldd ./bin/gm

# test
mkdir test && cd test
cp ../jpeg-6b2/testimg.bmp ./test.bmp
../bin/gm convert test.bmp jpg.jpg
../bin/gm convert jpg.jpg jpg.bmp
../bin/gm convert test.bmp png.png
../bin/gm convert png.png png.bmp
../bin/gm convert test.bmp webp.webp
../bin/gm convert webp.webp webp.bmp

如果需要,您可以将其作为包含更多库的起点。我的用例也是将其包含在电子邮件中。在尝试交叉编译静态Windows版本后,我得出的结论是,对于Windows版本,使用官方提供的预编译多文件版本的维护成本会更低。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/49710163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档