从问题发布构建VIP库

时间:2019-02-18 21:22:52

标签: macos go vips

我正在尝试运行/构建使用vips的GoLang软件包。当我尝试编译程序时,出现此错误: go build gopkg.in/h2non/bimg.v1: invalid flag in pkg-config --cflags: -Xpreprocessor

这是我的规格:

macOS Mojave Version 10.14.3
vips Version 8.7.4
go Version 1.11.5 darwin/amd64

我在添加CGOALLOWEDFLAGS时遇到了一些问题,但也没有运气。

1 个答案:

答案 0 :(得分:0)

CFLAGS是要提供给C编译器的额外标志。 (通常在 make 中使用,请参见:https://www.gnu.org/software/make/manual/html_node/Implicit-Variables.html

gopkg.in/h2non/bimg.v1/vips.go使用pkg-config生成额外的标志。它具有-Xpreprocessor标志,CGo不允许使用(在编写此标志时默认情况下)。

  

出于安全原因,仅允许使用有限的标志集,尤其是-D-I-l。要允许其他标志,请将CGO_CFLAGS_ALLOW设置为与新标志匹配的正则表达式。要禁止本应允许的标志,请将CGO_CFLAGS_DISALLOW设置为与必须禁止的参数匹配的正则表达式。在这两种情况下,正则表达式都必须匹配完整的参数:要允许-mfoo=bar,请使用CGO_CFLAGS_ALLOW='-mfoo.*',而不仅仅是CGO_CFLAGS_ALLOW='-mfoo'。 (请参阅:https://golang.org/cmd/cgo/

要允许-Xpreprocessor,可以设置CGO_CFLAGS_ALLOW=-Xpreprocessor。 例如:

CGO_CFLAGS_ALLOW=-Xpreprocessor go vet ./...