使用uClibc编译静态程序
by HYH | 2018 年 1 月 22 日 下午 2:04
一.说明
1.因为mini2440剩余空间有限,外加没有什么可用的包管理器。想直接编译C程序(比如用C语言写cgi程序)很不方便。使用交叉编译还需要再传输文件,没有直接在板子上写程序来的方便(也可以写个在线编译系统)。
2.下载
1)源码:https://www.uclibc.org/downloads/
2)二进制文件下载:
https://www.uclibc.org/downloads/binaries/
文件说明:
cross-compiler-*:
交叉编译工具,跟友善之臂官方提供的gcc用途一样。名称最后的英文表示平台型号。mini2440是armv4*(下同)。
mini-native-*/system-image-*:
含有编译工具make和gcc的系统镜像.直接解压后通过chroot可直接运行。也可以制作成一个完整的rootfs,烧写在板子上(需要进过一些处理)
二.一些用法
1.编译cgic
首先解压含uClibc的系统镜像,再将cgic解压至系统镜像的一个目录中。
进入系统镜像的/目录(也就是含有bin/lib/usr/dev/等子目录的目录)
进行chroot并进入cgic的目录:
chroot . /bin/sh
由于系统本身并不是使用uClibc作为C语言库的,所以最好使用静态编译。
加-static
接下来直接make即可,然后使用exit退出chroot状态。测试编译后的程序。
用网页测试的结果:
https://hyhsystem.cn/wordpress/
Copyright ©2018 何亚红的博客 unless otherwise noted.