Dependencies 包括不同版本的glib头

Dependencies 包括不同版本的glib头,dependencies,header-files,glib,binary-compatibility,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之后引入的任何新功能,包含不同版本的标题会导致任何问题吗?如果是这样,什么时候会发生这样的问题?它不应该引起问题。这是因为GLib保持了2.x系列中所有版本的API兼容性。编译程序时使用的头文件的任何版本,都可以链接到库的任何版本,只要不使用该版本库中不存在的任何功能 然而,你似乎让你的生活

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


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

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

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

我正在使用一个可以指定 GLiB的根目录及其使用
#在代码中包含“glib.h”
。我有多个版本的glib头 安装


你到底为什么要那样做呢?

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

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

我正在使用一个可以指定 GLiB的根目录及其使用
#在代码中包含“glib.h”
。我有多个版本的glib头 安装

你到底为什么要这么做呢???

请看这篇关于油嘴滑舌版本的文章。在2.6.6和2.12.0版本之间进行了一些低严重性API/ABI更改

有关油嘴滑舌的版本,请参见此。在2.6.6和2.12.0版本之间进行了一些低严重性API/ABI更改


您如何知道它包含的标题版本?通常,它只会查找编译期间指定的include路径。嗨,SB,我正在使用一个Makefile来指定GLiB的根目录,并在代码中使用#include“GLiB.h”。我安装了多个版本的glib标头。您如何知道它包括哪个版本的标头?通常,它只会查找编译期间指定的include路径。嗨,SB,我正在使用一个Makefile来指定GLiB的根目录,并在代码中使用#include“GLiB.h”。我安装了多个版本的glib Header。