猿问

带有外部库的 Go + Swig 构建

我正在尝试使用 opencv 函数构建一个 cpp 文件。


Go 1.3 声明 swig 构建现在捆绑在 go 构建工具中,但我没有找到一种方法来告诉构建工具使用 pkg-config 添加包含目录和库参数。


go test -x cv_test.go                                                  

cd /Users/pierre/Projects/go-swig

clang++ -I . -fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fno-common -g -O2 -o $WORK/_/Users/pierre/Projects/go-swig/_obj/binding.cpp.o -c ./binding.cpp

# _/Users/pierre/Projects/go-swig

In file included from ./binding.cpp:1:

./binding.h:5:10: fatal error: 'cv.h' file not found

$WORK/command-line-arguments/_test/tiler.test

FAIL    command-line-arguments [build failed]

有没有人成功过?


侃侃无极
浏览 212回答 2
2回答

POPMUISE

截至目前,如果您使用 pkg-config,Go 不会正确地将包含路径传递给 swig,我提交了一个补丁,但它很可能在 1.4 发布之前不会被包含在内。因此,您要么使用补丁构建 Go,要么#cgo CXXFLAGS / #cgo LDFLAGS像@JamesHenstridge 建议的那样手动指定路径。
随时随地看视频慕课网APP

相关分类

Go
我要回答