Examples

fatal error: glib.h: No such file or directory;/usr/bin/ld: cannot find -lcurl

在学习BLE bluez的时候,做了一个测试程序,看到gatttool.c下面有一个glib解析命令行的功能,想移植到自己的程序接口中,但是添加了#include <glib.h>后,出现了fatal error: glib.h: No such file or directory错误。经过网上查找答案,询问同事,找到了解决方法:在Makefile中添加glib库和头文件。

方法如下

1.安装glib库:

apt-get install libglib2.0-dev

 

 

2.(Makefile中):

LINKFLAGS += -lglib-2.0

INCL_PATH +=    -I/usr/include/glib-2.0 -I/usr/lib/i386-linux-gnu/glib-2.0/include/

 

.SUFFIXES:.c.o.h

$(BIN):$(OBJECTS)

  $(CC) $(CMPOPT)  $(BIN) $(OBJECTS) $(LINKFLAGS)

%.o:%.c

   $(CC) -c $(INCL_PATH) $(CFLAGS) $< $(CMPOPT) $@

 

 

编译bluez的时候出现:/usr/bin/ld: cannot find -lcurl

1) 执行命令apt-get install libcurl-dev,系统提示:

Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libcurl-dev is a virtual package provided by:
libcurl4-openssl-dev 7.35.0-1ubuntu2.20
libcurl4-nss-dev 7.35.0-1ubuntu2.20
libcurl4-gnutls-dev 7.35.0-1ubuntu2.20
You should explicitly select one to install.

 

需要选择一个安装。选择了第一个安装

2) 执行命令:apt-get install libcurl4-openssl-dev

3)重新编译,正常。

 

PS: 记录编译bluez需要安装的库文件:

sudo apt-get install gcc libglib2.0-dev libdbus-1-dev libdbus-c++-dev libudev-dev libical-dev libreadline-dev

 

posted on 2018-08-15 16:37  足各火丁  阅读(14034)  评论(0编辑  收藏  举报

导航

Examples