我叫静态库,它是从c++源编译的。但是编写依赖库很烦人,我发现libtool的表现很好,例如,我的libfoo.la
将具有以下内容:
dependency_libs=‘ /Users/roger/example/lib/bar/libbar.la -lm’
现在,我在golang中调用
libfoo.a
,但是依赖项可能很复杂。 libfoo.a
取决于libbar.a
,libbar.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/