无法为 golang 构建魔法

我正在关注此文档以构建 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)。


料青山看我应如是
浏览 264回答 2
2回答

慕仙森

他们的文件提到的是no_pkgconfig必须手动设置使用GCO_CFLAGS和CGO_LDFLAGS。所以这样的事情应该有效:export CGO_CFLAGS="$(pkg-config --cflags MagickWand)"export CGO_LDFLAGS="$(pkg-config --libs MagickWand)"go build -tags no_pkgconfig

蛊毒传说

正如问题跟踪器的#68所述,您使用的 ImageMagick 版本太旧了,它早于为 master 分支测试的版本。您的 Linux 发行版早于当前可用的稳定版本。您应该手动安装较新的 ImageMagick,然后从 apt 中删除。或者使用一些允许您管理多个版本的解决方案。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go