我可以在cgo中使用libtool输出吗?
问题描述:
我叫从C++源编译的静态库。但是,这是累人写依赖库和我发现的libtool刚做的非常好,例如,我的libfoo.la
都会有这样的事情:我可以在cgo中使用libtool输出吗?
dependency_libs=‘ /Users/roger/example/lib/bar/libbar.la -lm’
现在我打电话golang libfoo.a
,但依赖性可能很复杂。 libfoo.a
取决于libbar.a
,libbar.a
取决于libhaha.a
。 当我构建golang时,我可以使用libfoo.la
吗?(或某种方式使libfoo.a
及其所有的依赖到一个LIB文件?)
答
我可以利用libfoo.la的时候我建立golang?
否Go有它自己的构建系统,它不知道libtool档案,只知道系统上可用的标准静态/共享库。
现在我在golang中调用libfoo.a,但依赖关系可能很复杂。
这就是它如何与静态库。这是使用共享库的一个原因。共享库在Go中也不是没有问题,但有点可管理。
libfoo.a取决于libbar.a,libbar.a取决于libhaha.a。
不一样的东西:
package foo
// #cgo CFLAGS: -I...
// #cgo LDFLAGS: -L... -lfoo -lbar -lhaha -lm
// #include ...
import "C"
...
工作?
或者某种方式使libfoo.a及其所有的依赖项成为一个lib文件?
是的,这是可能的,但另一个问题。