我叫静态库,它是从c++源编译的。但是编写依赖库很烦人,我发现libtool的表现很好,例如,我的libfoo.la将具有以下内容:

dependency_libs=‘ /Users/roger/example/lib/bar/libbar.la -lm’

现在,我在golang中调用libfoo.a,但是依赖项可能很复杂。 libfoo.a取决于libbar.alibbar.a取决于libhaha.a。生成golang时可以使用吗? (或以某种方式将libfoo.la及其所有依赖项合并到一个lib文件中?)

最佳答案



不会。Go拥有自己的构建系统,它不了解libtool文件,只有系统上可用的标准静态/共享库。



静态库就是这样。这是改用共享库的原因之一。共享库在Go中也不是没有问题,但是有些可管理。



不是这样的:

package foo


// #cgo CFLAGS: -I...
// #cgo LDFLAGS: -L... -lfoo -lbar -lhaha -lm
// #include ...
import "C"
...

工作?



是的,那是可能的,但这是另一个问题。

关于go - 我可以在cgo中使用libtool输出吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46632362/

10-11 08:58