编译我的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 回答
当您安装了开发包时,您应该使用正确的方法来编译与Glib链接的程序,即使用
pkg-config
来获取系统的正确值 .如果您将Makefile更改为:
然后它会找到正确的文件 .
不同的系统和体系结构将文件安装在不同的位置,并允许您安装多个版本的Glib文件放在特殊目录中 . 使用
pkg-config
解决了这个问题 .如果你看看packages.ubuntu.com,它看起来就像是在一个不同的文件夹中
头路径文件是否在该路径?
确保安装了
libglib2.0-dev
软件包,因为它提供了glib.h
标头 .库包(例如
libglib2.0-0
)通常仅包含已编译的程序使用的已编译库 . 要使用关联的库编译新程序,需要安装关联的-dev
包,其中包含库的头文件 .