Glib被用到不少开源库,但不知啥缘由,Glib的安装并无被整合到Ubuntu的安装源,须要本身安装。shell

首先下载、解压最新的版本,安装:code

  1. wget http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.45/glib-2.45.2.tar.xz
  2. tar -vxf glib-2.45.2.tar.xz
  3. cd glib-2.45.2.tar.xz
  4. ./configure
  5. make
  6. sudo make install

若是出现libffi找不到的提示,则安装之:get

  1. sudo apt-get install libffi-dev

而后再次执行:class

  1. ./configure
  2. make
  3. sudo make install

OK,搞定。

二:Glib库的编译

  1. 要想在编译Glib不出现错误,首先需要确定你的嵌入式交叉编译器中是否包含gettextlibiconv,如果你的交叉编译工具中没有这两个库的话,那么编译的过程中会出现以下的错误:

1):gettext错误

  1. You must have either have gettext support in your C library, or use the <br /> GNU gettext library. (http://www.gnu.org/software/gettext/gettext.html

就算是你的主机host中已经安装了gettext的话,也还是会提示此类错误,因此需要首先确定你的嵌入式交叉编译工具中是否包含了gettext。

2): libiconv无法找到iconv.h头文件

  1. 如果你的交叉编译工具中没有包含libiconv的话,那么会提示iconv.h无法找到的问题,因此如果交叉编译工具中没有的话,就需要下载libiconv自行编译

3):cannot run test program while cross compiling

  1. 对于这个问题,需要仔细看看configure文件,有哪些会提示这类错误,我这里通过修改如下几项就不会提示这类错误了,如下:
  2. echo glib_cv_stack_grows=no<br /> echo ac_cv_type_long_long=yes<br /> echo glib_cv_uscore=no<br /> echo ac_cv_func_posix_getpwuid_r=yes

[gdate.c:2497:7: error: format not a string literal, format string not checked -Werror=format-nonlit

今天编译pkg-config-0.29出现的 实际上是内置的glib出的问题
第一步先找到这个文件 然后加入如下语句

#pragma GCC diagnostic ignored "-Wformat-nonliteral"

就在包含头文件的地方加就行了

https://www.cnblogs.com/yuandaozhe/p/14365389.html