欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

嵌入式产品:移植

程序员文章站 2022-07-12 10:36:49
...

注意:

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

相关标签: 嵌入式产品