[英]ALSA Library and Cross Compiling for ARM
我正在尝试为Debian OS上安装的NXP(Freescale)imx6创建一个“ C”应用程序。 我的主机是Ubuntu 16.04。 我使用eclipse作为IDE,直到今天我都可以进行交叉编译。 我将arm-linux-gnueabihf-gcc
用作编译器,将arm-linux-gnueabihf-ld
用作链接器。 我在链接器参数中添加了-lasound
选项,但仍无法构建该应用程序。 我得到一个错误
arm-linux-gnueabihf-ld:找不到-lasound
我认为我的Ubuntu(主机)计算机上没有libasound.so
文件,而且链接程序无法将库链接到应用程序。
我将libasound.so
文件从我的ARM机器复制到了主机,再复制到了/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,然后使用生成的静态lib链接您的应用程序。 另一种选择是在某处搜索预编译的gnueabihf libalsa ...
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.