c++ - 如何链接 libxerces c.so.28?

  显示原文与译文双语对照的内容
0 0

每当指定-lxerces-c时,都会在LIBPATH中查找 libxerces-c.so 库。

Q1 lib为什么lib文件生成为

我们应该如何与这样的图书馆联系

我可以想到的唯一方法是创建一个软链接 libxerces-c.so,链接到文件 libxerces-c.so.28. 我觉得这是个开销。 还有其他的方法更好?

时间: 原作者:

0 0

文件名具有版本号,因此你可以使用一个使用版本 2.8的程序和一个使用版本 2.9的不同程序。 这样,添加新版本的库不会改变使用旧库的现有程序的行为。

通常,还应该有一个文件 libxerces-c.so,它是指向你希望新构建的程序使用的库版本的符号链接。

许多Unix包管理器将有一个单独的开发包来安装链接符号。 听起来你没有安装开发软件包。

原作者:
0 0

还有另外一个原因: 当链接到libxerces时,你还可能在程序中包含一些xerces头文件。 这些头是最新版本的二进制库( 通过 libxerces-c.so 符号链接) 。

意味着如果你使用 xerces-2.8 编译和链接 libxerces-2.9 库二进制文件,那么很有机会不能解决这一问题。

把它看作是混合头和二进制库的预防措施。

...