首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux音频库的静态链接

linux音频库的静态链接
EN

Stack Overflow用户
提问于 2021-02-02 21:01:20
回答 1查看 283关注 0票数 2

我正在开发一个针对Windows和Linux的音频库。对于Windows后端,我支持DirectSound、WASAPI和ASIO,而对于Linux、JACK和PulseAudio。最近出现了关于c/c++运行时(msvcrt/libc/libgcc/libstdc++)的静态链接与共享/动态链接以及其他依赖关系的主题,因为它是独立于自包含和库版本独立的。我决定将所有东西(DirectSound、WASAPI、ASIO和msvcrt)静态链接到Windows,因为DirectSound和WASAPI是内置的,所以我从源代码编译ASIO。但是对于Linux来说,事情似乎要复杂一些。这里:https://insanecoding.blogspot.com/2012/07/creating-portable-linux-binaries.html建议我通过静态链接libgcc和libstdc++是相当安全的,而不是libc本身(如果我错了请纠正我)。但我完全不知道如何处理libasound、libpulse和libjack-jackd2 2。APT包似乎只提供..so,不提供.a。

因此,我的问题基本上归结为这样一个问题:如何在linux上生成共享库(.so),使用所有libc、libgcc、libstdc++、libasound、libjack和libpulse,同时尽可能自我包含,要求终端用户尽可能少地安装,并在尽可能广泛的linux发行版上运行(对其他*NIXes不感兴趣)。

如果有什么不同的话,主要的目标(目前)是围绕这个本机二进制文件发布包装库,无论是在.NET on nuget.org上还是在Maven central上。我只是希望这个包的消费者能够说出"packagereference include=audiolib“,然后使用它,然后能够在广泛的平台上运行。

非常感谢来自ALSA/Pulse/JACK团队的人能对此有所了解,因为至少有一些关于静态连接GCC运行时的材料,但是在特定的音频库中几乎什么也没有。

EN

回答 1

Stack Overflow用户

发布于 2022-10-13 20:15:15

我做了一个快速的谷歌搜索,下面是我收集到的信息:

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66017579

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档