【踩坑日记】编译安装alsa-lib时出现 [/usr/bin/ld: unknown architecture of input file `control/.libs/libcontrol.a(]

1 出现的问题

在学习正点原子的嵌入式Linux驱动教程,执行 make 时,出现如按下的错误:


/usr/bin/ld: unknown architecture of input file `control/.libs/libcontrol.a(control_symbols.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file `pcm/.libs/libpcm.a(pcm_symbols.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file `timer/.libs/libtimer.a(timer_symbols.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file `rawmidi/.libs/librawmidi.a(rawmidi_symbols.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file `hwdep/.libs/libhwdep.a(hwdep_symbols.o)' is incompatible with i386:x86-64 output
/usr/bin/ld: unknown architecture of input file `seq/.libs/libseq.a(seq_symbols.o)' is incompatible with i386:x86-64 output
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:493:libasound.la] 错误 1
make[2]: 离开目录“/home/witheart/linux/tool/alsa-lib-1.2.2/src”
make[1]: *** [Makefile:553:all-recursive] 错误 1
make[1]: 离开目录“/home/witheart/linux/tool/alsa-lib-1.2.2/src”
make: *** [Makefile:404:all-recursive] 错误 1

在这里插入图片描述

2 错误原因

笔者遇到这个错误是因为前面安装过一次 alsa-lib 了,但是没有清理干净。

3 解决方式

先进入源码文件夹

3.1 清理编译过程中生成的临时文件和目标文件

执行

sudo make clean

3.2 重新配置编译环境

执行

./configure --host=[target-platform] --prefix=[install-path] --with-configdir=[config-dir]

命令选项解释

  • --host=[target-platform]:指定编译目标平台的类型。
  • --prefix=[install-path]:指定安装文件的根目录。
  • --with-configdir=[config-dir]:指定程序运行时配置文件的目录。

请按照自己的需要进行修改。

3.3 重新编译

执行

sudo make

3.4 切换为 root 用户

执行

sudo -s

3.5 重新加载环境变量

执行

source /etc/profile

3.6 安装编译后的程序

执行

make install

3.7 切换回普通用户

执行

su [username]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

__Witheart__

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值