3

我正在关注这个文档来构建 Go Imagick 库。

当我运行以下命令时

go build -tags no_pkgconfig imagick

它抛出以下异常:

# imagick
src/imagick/affine_matrix.go:8:29: fatal error: wand/MagickWand.h: No such file or directory
compilation terminated

现在要解决这个问题,我还安装了许多人建议解决错误的以下软件包。但它也没有奏效。

sudo apt-get install libmagickwand-dev libmagickcore-dev imagemagick

此外,当我运行go build imagick 它会引发以下错误:

# imagick
could not determine kind of name for C.FlattenAlphaChannel
could not determine kind of name for C.RemoveAlphaChannel

的输出 pkg-config --cflags --libs MagickWand给出正确的输出

-fopenmp -I/usr/include/ImageMagick  -lMagickWand -lMagickCore

ImageMagick 仅安装到此路径(/usr/include/ImageMagick)。

4

2 回答 2

2

他们的文档提到必须no_pkgconfig与手动设置GCO_CFLAGSCGO_LDFLAGS. 所以这样的事情应该有效:

export CGO_CFLAGS="$(pkg-config --cflags MagickWand)"
export CGO_LDFLAGS="$(pkg-config --libs MagickWand)"
go build -tags no_pkgconfig
于 2016-01-13T13:18:50.780 回答
1

正如问题跟踪器的#68中所述,您使用的 ImageMagick 版本太旧了,该版本早于为 master 分支测试的版本。您的 Linux 发行版比当前可用的稳定版本更旧。

您应该手动安装一个较新的 ImageMagick,然后从 apt 中删除一个。或者使用一些允许您管理多个版本的解决方案。

于 2016-01-16T19:49:12.607 回答