我想知道Makefile.am中* _la_LDFLAGS的可能值是什么?
如果我问这个问题,是因为我想要以下内容:
Actual shared library : libA.so (or with the version number I don't care)
Symbolic links : libA-X.Y.Z.so, libA-X.so, libA.so
soname : libA-X.so
但是这是我通过使用-release标志得到的:
Actual shared library : libA-X.Y.Z.so
Symbolic links : libA.so
soname : libA-X.Y.Z.so !!! this is not what I want
我也尝试了完全没有标志,并得到了
Actual shared library : libA-0.0.0.so !!! 0.0.0 and not the real version
Symbolic links : libA.so, libA-0.so
soname : libA-0.so !!! 0.0.0 and not the real version
我应该怎么做 ?我应该使用哪个标志?
提前致谢
最佳答案
您应该使用Libtool的-version-info
选项来指定库的接口(interface)版本,但请务必阅读
how versioning works(或官方手册为here。)
您还可以使用-release
来使软件包的版本号更明显,但是我怀疑您是否会得到想要的确切命名。 Libtool有其自己的规则集,用于定义如何命名文件以及根据系统创建什么符号链接(symbolic link):实际上,这些规则应被视为共享库的安装方式的实现细节。
关于c++ - Automake:Makefile.am中* _la_LDFLAGS的有效值为多少?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/254132/