请教Go Build命令引用静态库方法

各位好:

最近小弟项目用到静态库(.a),且没有源码(Go编写)。之前开发一直用Go build进行编译。

但发现Go build没法引用库文件编译,只能用go tool compile与go tool link方式进行编译。由于引用库的地方非常多,用go tool compile与go tool link效率太低。

我用go build -gcflags "-I XXX"和-ldflags "-L XXX"等参数,确实能编译成功,但是生成的可执行文件无法运行。

请教各位,用go build引用库文件的编译方法

谢谢

共 2 个回复


wh_aist

你好,请问你这个问题解决了没?

# 0

rocket

不需要额外参数,在 go 源程序中加入这样的代码就可以用go build 编译了。

/*
#cgo CFLAGS: -I.
#cgo LDFLAGS: -L./clib -lhello
#include "hello.h"
*/
import "C"
# 1