Chinaunix首页 | 论坛 | 博客
  • 博客访问: 724171
  • 博文数量: 77
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 1173
  • 用 户 组: 普通用户
  • 注册时间: 2014-05-16 11:20
个人简介

将技术做到极致...

文章分类

全部博文(77)

文章存档

2019年(3)

2015年(27)

2014年(47)

分类: LINUX

2014-05-22 16:21:17

    最近交叉编译glib时,编译报错,通过网上资料整理报错处理。
我把我的编译流程做一下说明:
步骤一:从网上下载glib源代码,置于去哪里下,百度一下都有,下载你所需要的版本。下面以libglib2-2.28.8.tar.gz为例。
步骤二:在ubuntu上输入命令:    1:tar -xzvf libglib2-2.28.8.tar.gz
                                                 2:cd libglib2-2.28.8
                                                 3:./configure --prefix=/home/chenfm/libglib2-2.28.8 --host=arm-unknown-linux-gnu CFLAGS=-I/home/chenfm/inc  --cache-file=arm-unknown-linux.cache        --prefix指定安装路径    --host指定交叉工具 CFLAGS添加zlib相关头文件路径  --cache指定cache文件,因为configure不能为交叉编译检查glib_cv_stack_grows,glib_cv_stack_grows表示堆栈的增长方向。configure无法在目标机上运行测试程序,自然无法检查,只好手工指定。顺便看一下还哪些相关的变量不能检查的,一起写到cache文件中,并重新配置。
如果执行上面命令发现报checking for growing stack pointer... configure: error: cannot run test program while cross compiling
解决方法如下:在控制台进行如下配置:

                [root@linux glib-2.8.0]# echo ac_cv_type_long_long=yes>arm-unknown-linux.cache
                [root@linux glib-2.8.0]# echo glib_cv_stack_grows=no>>arm-unknown-linux.cache
                [root@linux glib-2.8.0]# echo glib_cv_uscore=no>>arm-unknown-linux.cache
                [root@linux glib-2.8.0]# echo ac_cv_func_posix_getpwuid_r=yes>>arm-unknown-linux.cache
                [root@linux glib-2.8.0]# echo ac_cv_func_posix_getgrgid_r=yes>>arm-unknown-linux.cache

然后在输入上面步骤二的第三条命令即可。

阅读(2545) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

cfm55382014-05-22 16:26:14

上面执行configure命令之后只是创建了makefile文件,编译的完成还需要执行make   接着make install,这样在你所指定的安装路径下会生成一个lib目录,里面有你想要的动态库。