- Glib被用到不少开源库,但不知啥缘由,Glib的安装并无被整合到Ubuntu的安装源,须要本身安装。shell
- 二:Glib库的编译
- -Werror=format-nonlit">[gdate.c:2497:7: error: format not a string literal, format string not checked -Werror=format-nonlit
Glib被用到不少开源库,但不知啥缘由,Glib的安装并无被整合到Ubuntu的安装源,须要本身安装。shell
首先下载、解压最新的版本,安装:code
wget http://ftp.acc.umu.se/pub/GNOME/sources/glib/2.45/glib-2.45.2.tar.xztar -vxf glib-2.45.2.tar.xzcd glib-2.45.2.tar.xz./configuremakesudo make install
若是出现libffi找不到的提示,则安装之:get
sudo apt-get install libffi-dev
而后再次执行:class
./configuremakesudo make install
OK,搞定。
二:Glib库的编译
要想在编译Glib不出现错误,首先需要确定你的嵌入式交叉编译器中是否包含gettext和libiconv,如果你的交叉编译工具中没有这两个库的话,那么编译的过程中会出现以下的错误:
1):gettext错误
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头文件
如果你的交叉编译工具中没有包含libiconv的话,那么会提示iconv.h无法找到的问题,因此如果交叉编译工具中没有的话,就需要下载libiconv自行编译
3):cannot run test program while cross compiling
对于这个问题,需要仔细看看configure文件,有哪些会提示这类错误,我这里通过修改如下几项就不会提示这类错误了,如下: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"
就在包含头文件的地方加就行了
