- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试交叉编译一个简单的 Rust 程序,以使用 wavy crate 在 Raspberry Pi Zero 上使用 ALSA 驱动程序录制声音在安装了 libasound-dev
库的 Docker 容器中。但是,链接器提示:
note: /opt/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/../lib/gcc/arm-linux-gnueabihf/4.8.3/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lasound
collect2: error: ld returned 1 exit status
Cargo 似乎要求 rustc 使用参数 -Bdynamic""-lasound"
动态链接 asound 库。我如何告诉 Cargo 到哪里寻找这些 ALSA 库?
更新:我将以下内容添加到我的 Cargo.toml 文件中,并将 --features "alsa-backend"
添加到我的 cargo build
似乎已经推进构建的命令:
[features]
alsa-backend = ["alsa"]
[dependencies]
alsa = { version = "0.2.1", optional = true }
它现在抛出:
note: /usr/lib/x86_64-linux-gnu/libasound.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
好的,它链接到 libasound.so 的 x86_64 版本。我在我的 Docker 容器中输入了 dpkg -L libasound-dev
,实际上,它列出了 /usr/lib/x86_64-linux-gnu/libasound.so
而不是 ARM 版本.
如何让 Raspbian Docker 容器链接到 libasound.so
的 ARM 版本?
最佳答案
apt-get install libasound-dev -y
apt-get install libasound-dev:armhf -y
(如果你只安装libasound-dev:armhf
,它会提示alsa-sys
链接器错误。)
alsa
依赖:[dependencies]
alsa = { version = "0.2.1", optional = true }
wavy = { path = "./wavy" }
alsa-backend
标志:[features]
alsa-backend = ["alsa"]
将 --features "alsa-backend"
传递给 cargo build --target arm-unknown-linux-gnueabihf
(应应用目标)
在.cargo/config
中告诉rustc使用armhf版本:
[build]
[target.arm-unknown-linux-gnueabihf.libasound]
linker = "arm-linux-gnueabihf-gcc"
rustc-link-lib = ["libasound"]
rustc-link-search = ["/usr/lib/arm-linux-gnueabihf"]
(根据它链接的顺序,它可能会尝试使用 x86 版本而不是 armhf 版本。)
关于docker - 为 ARM 交叉编译 Rust 程序时的 ALSA 链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57037550/
我正在尝试在 CentOS 5.6 上构建 qt 但它失败的原因是系统没有所需的库。 我正在尝试使用 Fedora qt 源 rpm 文件中的源文件和规范文件进行构建。 $ rpmbuild -ba
如何在默认声卡上监听主 channel 的音量变化?我希望通过 dbus 或回调或其他方式收到音量已更改的通知。 我已经尝试查看 ALSA 和 PulseAudio API,它们似乎只允许您设置和获取
我在我的 RHEL 7.5 机器上配置 ALSA 时遇到问题。 我的部分解决方案是尝试更改/etc/asound.conf 中的设置。我尝试了很多排列组合,但我仍然听到我的声音(.raw 文件)中有“
我有一个在 linux 上使用 ALSA 驱动程序的音频应用程序,并且该代码在 intel linux 台式机上运行良好。但是,我也想支持 Raspberry Pi,并且我在该平台上遇到了周期性的音频
我正在尝试使用 travis-ci 构建一个 rust 二进制文件。我设法让 windows 和 osx 构建工作,但 linux 构建一直失败。 似乎“alsa-sys” crate (依赖项之一)
我正在尝试使用 linux 机器上的 alsa api 从我的应用程序内部将麦克风静音。我正在使用以下代码更改 volume=0 的音量: long min, max; snd_mixer_t *ha
我正在尝试运行包含以下内容的基本 Pygame midi 脚本: import pygame, pygame.midi pygame.midi.init() print "Midi Dev
我正在使用没有可用的 ALSA snd-dummy 模块的 docker 镜像。我需要模拟声卡。我不需要(或不想)听音频。 根据我所做的许多搜索,我相当确定我想使用 ALSA 的 snd-dummy
我注意到 pcm.c 和 speaker-test.c 中的正弦发生器循环生成一个新的正弦缓冲区。所以它不断地重新创建相同的缓冲区。我想播放缓冲区而不是每次都重新创建它以节省一些 cpu 时间。但是,
使用不断输出数据的 USB 音频设备(它是具有多个 channel 的 HID)。 我希望实现的是在设备发出信号之前忽略音频。那时我会开始监控提要。来自设备的第二个信号表明我可以重新忽略数据。我已经以
我使用的是 Ubuntu 20。我输入了 sudo nano /usr/share/alsa/alsa.conf并得到以下输出:output of the above command 我不知道它是否有
ALSA 的 snd_pcm_hw_params_set_access使用 SND_PCM_ACCESS_RW_NONINTERLEAVED access type 调用时函数失败,报告存在无效参数。
我正在尝试使用 IBM watson TTS 引擎来播放文本。播放声音时,出现以下错误: ALSA lib confmisc.c:1286:(snd_func_refer) Unable to fin
我有一个我正在做的项目,为了这个问题,可以说它们是无线扬声器。 我们现在正在使用树莓派进行开发,但我们计划转向我们自己的嵌入式解决方案。我们选择的编解码器最适合我们的需求,尽管它不是“支持 ALSA”
我正在播放带有某些C代码(如this)的wav声音文件。它使用所有API: snd_pcm_* 我想使用均衡器插件: libasound_module_ctl_equal.so, libasound_
我有一个连接了 i2s MEMS 麦克风的 Raspberry Pi。我正在使用 SOX 库从中录制音频,并尝试增加我的 ALSA buffer_size。 我的 ALSA buffer_size 目
使用 Linux Mint 17.1 和 ALSA。我有两个产生相同声音的 wav 文件:一个使用 pcm_s16le,另一个使用 pcm_s24le。每个都由图腾/视频正确播放。我设置硬件参数和使用
我继承了一段代码,它使用 ALSA 来捕获 8KHz、8 位、1 channel 的音频输入。代码看起来相当简单,它将 channel 设置为 1,速率设置为 8000,周期大小设置为 8000。该程
使用 Linux Mint 17.1 和 ALSA。我有两个产生相同声音的 wav 文件:一个使用 pcm_s16le,另一个使用 pcm_s24le。每个都由图腾/视频正确播放。我设置硬件参数和使用
我有一个 ubuntu 安装,默认安装了pulseaudio。当pulseaudio运行时,这有效: aplay -D hw:2,7/usr/share/xbmc/sounds/Bursting\Bu
我是一名优秀的程序员,十分优秀!