gpt4 book ai didi

c - ARM 的 ALSA 库和交叉编译

转载 作者:太空宇宙 更新时间:2023-11-04 12:35:52 31 4
gpt4 key购买 nike

我正在尝试为安装了 Debian 操作系统的 NXP(飞思卡尔)imx6 制作一个“C”应用程序。我的主机是 Ubuntu 16.04。我正在使用 eclipse 作为 IDE,直到今天我都可以设法交叉编译。我使用 arm-linux-gnueabihf-gcc 作为编译器,使用 arm-linux-gnueabihf-ld 作为链接器。我在链接器参数中添加了 -lasound 选项,但仍然无法构建应用程序。我得到一个错误

arm-linux-gnueabihf-ld: cannot find -lasound

我想我的 Ubuntu(主机)机器上没有 libasound.so 文件,我的链接器无法链接到我的应用程序的库。

我从我的ARM机器上复制了libasound.so文件到我主机上的/home/user/Downloads文件夹,但是还是编译不了。

是否有在构建之前在交叉编译项目中使用 ALSA 库的步骤?

这是构建操作的输出

Building target: tihc_linux_application
Invoking: GCC C Linker
/usr/bin/arm-linux-gnueabihf-ld -static -L/home/user/Downloads -pthread -lasound -o "main" ./src/main.o
/usr/bin/arm-linux-gnueabihf-ld: mode armelf_linux_eabi
/usr/bin/arm-linux-gnueabihf-ld: cannot find -lasound

最佳答案

你要求静态链接(通过 -static)但提供了共享库所以 ld 可能会忽略它(以确保你可以使用 -Wl 运行, --verbose).一种选择是从头开始交叉编译 libalsa,然后使用生成的静态库链接您的应用程序。另一种选择是在某处搜索预编译的 gnueabihf libalsa...

关于c - ARM 的 ALSA 库和交叉编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41870011/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com