CSound6 缺少 32 位库

Posted

技术标签:

【中文标题】CSound6 缺少 32 位库【英文标题】:CSound6 and it's lack of 32 bit libraries 【发布时间】:2015-12-12 17:04:34 【问题描述】:

在我的 CSound6 API 冒险中,我可能遗漏了一些真正重要的东西。我已经在互联网上搜寻答案,但没有运气。另外,这是我在 *** 上的第一篇文章,因为它通过代理回答了我之前的所有问题(当然,我对此永远感激不已)。她来了:

我正在开发一个基于 Raspberry Pi 2 的独立采样器/合成器/步进音序器,想想旧的 Electribe SX/MX。 GUI 是基于 SDL2 的,我经过一番挣扎后才开始使用它。我选择使用的声音引擎是 CSound 6,它是 C++ API。

当然,因为 Raspberry Pi 是 32 位平台,我应该链接到 32 位库。

然而,除了在this 页面上花费的几句话之外,CSound 手册几乎没有提供关于使用 32 位库的信息。

当然,如果存在 libcs​​ound.a 或 csound.dll 或类似的东西就足够了。我已经与 csound64 链接了所有内容,但我很确定在实际为 Raspberry 编译时她会让我失望。

我的 CSound 安装文件夹中的 bin 文件夹包含以下文件,可能与它有关,但在尝试了所有这些文件后,它们似乎不是我正在寻找的库为:

csnd6.dll
csound6~.dll
csound64.dll and csound64.lib
CsoundQt-d-cs6.lib

所以,请帮我解决这个问题。即使您遇到同样的麻烦,也请留下便条。提前感谢您的帮助!

【问题讨论】:

RPi 使用 ARM CPU,而不是 32 位 x86... 很确定您不想在 x86 模拟器下运行 Windows 二进制文件(尽管您可能仍然可以管理实时音频) 不,我最终的目标是 armhf linux,我可能会使用实时内核或抢占式内核来扩展它。我还认为,当我最终在 RPi 本身上进行交叉编译或编译时,我不需要特定的 32 位库。 Peter,你认为 RPi 不能并行运行几个简单的 csound 合成器吗?现在我只是想知道如果安装在 32 位 Windows 设置上,csound 会从哪里获得它的例程。只是不知道实际安装一个看看;) 我不知道 csound。我的意思是你不能使用 Windows DLL。如果您为 arm 编译了 csound,那么您就可以了。只要您的代码在 64 位和 32 位之间可移植,您使用什么开发并不重要 谢谢,我想通了。我也认为我弄清楚了我误解了什么:它实际上不是 64 位或 32 位的目标架构,而是进出 csound 的值的精度。可以通过向链接器 (-DUSE_DOUBLE) 添加一个参数来设置一个符号,它告诉 csound 使用双精度值(32 位)而不是 64 位浮点值。 是的,64 位和 32 位是指指针/整数的大小。 Float 与 double 是另一回事。 【参考方案1】:

Csound 可以针对不同的 CPU 架构进行编译,也可以编译为使用 32 位(浮点)或 64 位(双精度)浮点精度进行信号处理。用户已经为 RPi 编译了 Csound,并且在 [1] 中有在 RPi 上构建 Csound 的说明。适合您的 CPU 架构的预编译 Csound 应该可以从 apt 存储库中获得。开发头文件也应该作为单独的开发包提供。

[1] - https://github.com/csound/csound/blob/develop/BUILD.md

【讨论】:

以上是关于CSound6 缺少 32 位库的主要内容,如果未能解决你的问题,请参考以下文章

0 vs工程添加sdk

无法在 64 位 ubuntu 上安装 32 位库

在 OS X 上将 32 位二进制库包装到 64 位库

缺少“C:\Windows\system32\python27.zip”文件

将 32 位库链接到 64 位程序

为 32 位 exe 加载 32 位库时,Windows 7 64 位路径不正确