嵌入式产品:移植
注意:
1. 检查内存是否够大,不够大编译时会崩溃,弹出其它错误提示
2. 解压源码时用对应的命令解压,不要偷懒用-xvf
3. make install 安装时用sudo权限
移植步骤
1. 解压源码
2. 配置
./configure 不加参数采用默认安装,安装到/usr/local
--prefix=/temp 安装目录为/temp
3. 查看配置参数
./configure --help
4. 编译
make
-j x 以x个线程编译,加快速度
5. 安装
sudo make install
6. 查看可执行文件文件的类型,是不是对应平台
file xxx
7. 配置
在/etc/profile中添加PATH变量
export PATH=xxx/bin:$PATH
export LD_LIBRARY_PATH=xxx/lib:$LD_LIBRARY_PATH
8. 查看环境变量
echo $PATH
echo $LD_LIBRARY_PATH
configure常用配置
configure是用来生成Makefile,以下是常用的配置:
1. --prefix=/xxx,指定安装路径,默认是安装到/usr/local
2. CC=xxx,指定配置gcc编译器
3. CXX=xxx,指定C++编译器
4. CFLAGS="-I/xxx",指定头文件路径
5. LDFLAGS="-L/xxx -lxxx",指定库路径
6. --host=HOST,指定软件运行的系统平台,一般是编译工具链的前缀。如果没有指定。将会运行`config.guess’来检测。
7. --build=BUILD,指定软件包安装的系统平台。如果没有指定,默认值将是’–host’选项的值。
8. --target=GARGET,指定软件面向(target to)的系统平台。这主要在程序语言工具如编译器和汇编器上下文中起作用。如果没有指定,默认将使用’–host’选项的值。
9. --disable-xxx,禁用一些功能
10. able-xxx,使能一些功能
11. -h,查看配置选项
12. 配置日志:config.log
示例:交叉编译alsa
./configure --host=arm-none-linux-gnueabi --prefix=/usr/local/alsa-utils/ --with-configdir=/usr/local/share CFLAGS="-I/usr/local/alsa_lib/include" LDFLAGS="-L/usr/local/alsa_lib/lib -lasound" --disable-alsamixer --disable-xmlto
下一篇: 萌新改代码系列(一)--VINS+GPS