包括不同版本的glib标头

时间:2010-07-02 18:30:21

标签: dependencies header-files glib binary-compatibility

如果有两个源文件a.c和b.c:   a.c包含glib-2.6.6的glib.h   和   b.c包括glib-2.12的glib.h

然后我编译它们并将它们链接在一起并生成目标程序。假设a.c没有使用v2.6之后引入的任何新功能,会不会包含不同版本的标头导致任何问题?如果是这样,这种问题何时会发生?

2 个答案:

答案 0 :(得分:0)

它不应该导致问题。这是因为GLib维护了2.x系列中所有版本的API兼容性。无论您使用什么版本的程序集编译程序,只要您没有使用该版本的库中没有的任何功能,您就可以链接到该库的任何版本。

然而,你似乎在不必要地让你的生活变得困难:

  

我正在使用可以指定的Makefile   GLiB的根目录并使用   代码中的#include "glib.h"。我有多个版本的glib标头   安装。

为什么你想要这样做?

答案 1 :(得分:0)

有关Glib版本,请参阅此comparison table。在2.6.6和2.12.0版本之间进行了一些低严重性的API / ABI更改。

enter image description here

...

enter image description here