静态链接glib

时间:2013-09-09 04:45:33

标签: c glib

我正在尝试将glib静态链接到我的C程序中。我不确定最好的方法是什么。我下载了代码并将其放在名为glib-2.36.4的子目录中。我在使用gcc时添加了“-Iglib-2.36.4”。 glib.h位于glib-2.36.4 / glib目录中,在该文件中有glib目录下的其他头文件的引用(例如#include)。

我不确定为什么会这样,因为glib.h和其他头文件都处于同一级别(在glib子目录中)。由于没有找到galloca.h,我得到了一个编译错误(即使它在那里)。所以我将glib.h复制到一个级别,这些错误消失了。然后我得到一个关于缺少glibconfig.h的错误。我从我的usr目录中复制了该错误并且该错误消失了。我编译了我的项目,现在我收到一个关于未定义引用g_ptr_array_new的错误。我想这一定是因为我实际上没有编译glib。我曾尝试构建glib,但是当我输入“./configure”时,我收到了这条消息:

checking if arpa/nameser_compat.h is needed... configure: error: could not compile test program either way

我使用yum安装了glib,但是我真的希望这个代码能够运行,即使机器上没有安装glib也是如此。

1 个答案:

答案 0 :(得分:1)

您需要通过yum安装glib和 glib-dev ,使用./configure,进行编译(查看./configure脚本以查看是否有任何标记需要提供或定义你需要生成静态构建没有移动任何文件,然后你需要使用-i path / to / glib / includes和编译你的代码。链接-L path / to / built / static / library