Linux:找不到Glib

q

我有一个使用GLib库的示例C项目。在该源代码中,它使用:

#include <glib.h>

编译时,发现以下错误:“ Glib.h:没有这样的文件或文件夹”。我有谷歌,发现我应该安装这个库。所以我用那些命令:

apt-get install libgtk2.0-dev
apt-get install glade

之后,我检查了一下并发现系统中已存在此头文件:usr/include/glib-2.0/glib.h但是,当我编译时,仍然遇到上面的问题。

所以我将包含行更改为:

#include <glib-2.0/glib.h>

因此,在那之后,当我编译时,我在glib.hheader中遇到错误

#ifndef __G_LIB_H__
#define __G_LIB_H__

#define __GLIB_H_INSIDE__

#include <glib/galloca.h>
#include <glib/garray.h>
// more code here

glib/galloca.h : no such file or directory. 由于此错误在系统头文件中,因此我无法再进行修改并且仍然无法编译。

我不知道该如何解决。我读了一些帖子,他们更改了makefile。但是,由于我的项目是由IDE(CodeBlock)自动编译的,因此我无法真正编写Makefile,因此该方法不适合我。

请告诉我解决此问题的方法。

谢谢 :)

斯莱斯克

您的建造方式一定存在一些问题。要编译使用GLib的C程序,您需要package libglib2.0-dev您既可以直接安装它,也可以安装installlibgtk2.0-dev来将其作为依赖项拉入。这样您便拥有了所需的软件包。

编译GLib程序的正确方法是使用-IGLib包含文件的路径。一个示例(来自askubuntu上的“如何编译helloworld GLib程序? ”):

gcc $(pkg-config --cflags --libs glib-2.0) hello_glib.c

这应该让您编译该程序:

#include <stdio.h>
#include <glib.h>
int main(int argc, char** argv) {
     GList* list = NULL;
     list = g_list_append(list, "Hello world!");
     printf("The first item is '%s'\n", g_list_first(list)->data);
     return 0;
}

您收到的错误表明您没有-I正确设置包含路径()。如何执行此操作取决于您的构建系统/ IDE。


在Code :: Blocks中,必须在适当的配置对话框中设置包含路径和链接器选项。运行pkg-config --cflags --libs glib-2.0,将输出类似

-I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include  -lglib-2.0  

之后的目录-I必须在项目的编译器选项中设置(应该在Project-> Build Options-> Search Directories下),并且之后的名称-l必须在链接器设置中设置。另一个选择是创建一个Makefile,然后让Code :: Blocks使用它。

参见例如Q:使用第三方库时我需要知道什么?在Code :: Blocks Wiki中。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Yocto-glib-gettextize:找不到

来自分类Dev

错误:找不到依赖项“ mount”,尝试安装glib-2.60.0时尝试了pkgconfig和cmake Linux

来自分类Dev

在Max OSX 10.9上找不到'glib.h'文件

来自分类Dev

编译gnome扩展时找不到GLIB_GSETTINGS

来自分类Dev

scons在cygwin上找不到glib-2.0> = 2.32

来自分类Dev

无法编译浏览,找不到gcr-3.pc,找不到glib.h

来自分类Dev

linux系统找不到libexpat

来自分类Dev

高山的Linux - 的javac找不到

来自分类Dev

linux + g ++:找不到命令

来自分类Dev

安装automake 1.14时,glib2 build找不到automake 1.13

来自分类Dev

警告:在库中找不到宏“ AM_GLIB_GNU_GETTEXT”

来自分类Dev

Linux错误:sh:qsub:找不到命令

来自分类Dev

Vulkan在Linux上找不到物理设备

来自分类Dev

找不到Qtcreator调试器(Linux)

来自分类Dev

找不到snap7库-Linux

来自分类Dev

Linux-找不到共享库

来自分类Dev

找不到Linux问题setenv命令

来自分类Dev

Linux找不到metis.h

来自分类Dev

找不到png.h文件-Linux

来自分类Dev

找不到ODE库的Linux CMake错误

来自分类Dev

在linux上找不到python命令

来自分类Dev

Linux找不到由PHP启动的进程

来自分类Dev

Linux-找不到SO文件

来自分类Dev

找不到snap7库-Linux

来自分类Dev

找不到VMWare Player的Linux标头

来自分类Dev

Linux内核3.14:找不到LILO

来自分类Dev

VMWare找不到Linux标头路径

来自分类Dev

Linux内核:“找不到映射文件”

来自分类Dev

找不到旧界面的Linux