首页 文章

无法找到glib.h

提问于
浏览
2

编译我的C程序时遇到问题当我将ubunto 11移到ubunto 13时会出现此问题 .

当我用这个makefile编译时:

gcc -D_GNU_SOURCE -I / usr / include / glib-2.0 -I / usr / lib / glib-2.0 / include -I / usr / lib / x86_64-linux-gnu / glib-2.0 / include / -lglib-2.0 - D_FILE_OFFSET_BITS = 64 -D_LARGEFILE_SOURCE -g -Wall -Wextra -std = c99 -lm * .c -o formattage

我收到此错误:

main.c:5:18:erreur fatale:glib.h:Aucun fichier ou dossier de ce typecompilationeterée .

我的机器上安装了Glib2 Dev,但当我检查/usr/lib/glib-2.0/包含此文件时,我没有找到它

我该如何解决?

3 回答

  • 2

    当您安装了开发包时,您应该使用正确的方法来编译与Glib链接的程序,即使用 pkg-config 来获取系统的正确值 .

    如果您将Makefile更改为:

    gcc -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -g -Wall -Wextra -std=c99 -lm *.c -o formattage `pkg-config --cflags --libs glib-2.0`
    

    然后它会找到正确的文件 .

    不同的系统和体系结构将文件安装在不同的位置,并允许您安装多个版本的Glib文件放在特殊目录中 . 使用 pkg-config 解决了这个问题 .

  • 0

    如果你看看packages.ubuntu.com,它看起来就像是在一个不同的文件夹中

    /usr/include/glib-2.0/glib.h    libglib2.0-dev
    

    头路径文件是否在该路径?

  • 3

    确保安装了 libglib2.0-dev 软件包,因为它提供了 glib.h 标头 .

    库包(例如 libglib2.0-0 )通常仅包含已编译的程序使用的已编译库 . 要使用关联的库编译新程序,需要安装关联的 -dev 包,其中包含库的头文件 .

相关问题