2

如果有两个源文件ac和bc:ac包含glib-2.6.6的glib.h,bc包含glib-2.12的glib.h

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

4

2 回答 2

0

请参阅此Glib 版本比较表。在 2.6.6 和 2.12.0 版本之间进行了一些低严重性的 API/ABI 更改。

在此处输入图像描述

...

在此处输入图像描述

于 2011-08-31T11:15:05.633 回答
0

它不应该引起问题。这是因为 GLib 为 2.x 系列中的所有版本保持 API 兼容性。无论您使用什么版本的头文件来编译您的程序,您都可以链接到任何版本的库,只要您不使用该版本库中不存在的任何功能。

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

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

你到底为什么要这样做?

于 2010-07-08T15:34:10.593 回答