glib2.34.3的编译安装

我的电脑是mac os系统,所以库是.dylib结尾的,与so等同。

 

编译glib2.34.3的时候,遇到了两个主要问题,第一个是报缺少库libffi,这时候,下载libffi-3.0.13安装好了,仍然报告这个。按如下方法解决,按照你编译安装的路径修正一下:

export LIBFFI_LIBS=/usr/local/lib/

export LIBFFI_CFLAGS=/usr/local/lib/libffi-3.0.13/include

然后在./configure的时候,使用参数:

./configure --prefix=/data/glib-2.0 --with-libiconv=gnu CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"

configure终于通过。

make的时候报错ffi的函数没找到声明,拷贝/usr/local/lib/libffi-3.0.13/include/ffi* /usr/include,编译继续。

make继续报错dyld: Symbol not found: _ffi_type_double

备份库mv /usr/local/lib/libffi.dylib /usr/local/lib/libffi.dylib.bak

拷贝库cp /usr/local/lib/libffi.dylib /usr/lib

make继续

报错dyld: Symbol not found: _ffi_type_double 等等。

查不到原因,毕竟libffi是最新版的了,而且有这个符号,推测可能是新版的glib跟系统某些库或编译器本身有版本不兼容问题。

下载glib-2.28,

先编译libiconv:libiconv-1.14.tar.gz 

http://www.gnu.org/software/libiconv/ (这里找到最新版)

wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

./configure && make && make install (默认安装到了/usr/local)

./configure --with-libiconv=gnu CPPFLAGS="-I/usr/local/include" LDFLAGS="-L/usr/local/lib"

make

make install

一切OK。

 

 

 

你可能感兴趣的:(lib)