glib-2.40编译安装

1 安装glib库所需要的依赖库:
libffi-3.0.0.tar.gz
glib-2.40.0.tar.xz

 

安装依赖库libffi:
tar xf libffi-3.0.0.tar.gz
cd libffi-3.0.0
./configure
make
make install
 

 

配置环境变量:
vim /etc/profile
添加下面的内容:
export LIBFFI_CFLAGS=-I/usr/local/lib/libffi-3.0.0/include
export LIBFFI_LIBS=/usr/local/lib/libffi.la
export C_INCLUDE_PATH=/usr/local/lib/libffi-3.0.0/include/

 

 
使配置文件立即生效
source /etc/profile
 
安装glib库:
configure 配置选项
--enable-debug=no 选项:默认是mini模式,在release的时候应该使用该选项
--disable-included-printf 选项:这个选项要谨慎使用,可能会造成某些 printf 家族的函数不能使用
 
tar xf glib-2.40.0.tar.xz
cd glib-2.40.0
./configure --enable-debug=no
make
make install
 

 

 
配置环境变量:
vim /etc/profile
添加下面的内容:
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

 

 
使配置文件立即生效
source /etc/profile
 
 
2 使用 glib 库,测试字符串使用为例
vim test.c
 
#include <stdio.h>
#include <glib.h>
int main(int argc, char *argv[])
{
GString *teststr = NULL;
teststr = g_string_new("1234");
printf ("str is:%s\n", teststr->str);
printf ("len is:%d\n", teststr->len);
g_string_free (teststr, TRUE);
teststr = NULL;
g_return_val_if_fail (teststr, NULL);
return 0;
}

 

gcc -I /usr/local/include/glib-2.0/ -I /usr/local/lib/glib-2.0/include/ -L/usr/local/lib -lglib-2.0

./a.out
 
这里运行可以发现断言会被打印,glib提供了关闭断言的开关
在使用glib库的程序中屏蔽断言需要在编译时加入开关
gcc -I /usr/local/include/glib-2.0/ -I /usr/local/lib/glib-2.0/include/ -DG_DISABLE_CAST_CHECKS -DG_DISABLE_ASSERT -DG_DISABLE_CHECKS -lglib-2.0

 

运行程序后断言不打印
 
注意:使用glib库的时候最好是不要关闭断言,因为断言是预防程序 coredump 的最后屏障
posted on 2017-04-14 18:06  欢跳的心  阅读(2274)  评论(0编辑  收藏  举报