gpt4 book ai didi

c++ - 如何在我的二进制文件中包含共享库依赖项(不使用 .deb 或 .rpm)和/或静态链接到 PulseAudio?

转载 作者:行者123 更新时间:2023-11-28 06:17:34 31 4
gpt4 key购买 nike

我在构建命令行工具时遇到了困难,用 C++ 编写,以便它可以由 i386 和 amd64 版本的 Ubuntu(理想情况下其他发行版也是如此,但这并不那么重要)执行。它将通过 USB key 分发,因此我无法控制包装。

我的命令行工具也应该从缓冲区播放一些音频,因此我使用 PulseAudio Simple 来播放音频缓冲区。

请注意,我的可执行文件在我的开发机器上运行良好。当我将它复制到 USB key 上并在其他机器上运行时出现问题。在那里,一旦我启动我的可执行文件,我就会从 bash 收到“找不到文件”错误;据我了解,这应该是因为目标机器上缺少 libpulse-dev 包(以及动态链接的库)。

那么,我想问一下:我应该做什么?我试图构建一个 32 位静态 PulseAudio,但后来我什至无法编译它,老实说我不知道​​还能尝试什么。除了静态链接之外,还有其他方法可以在 USB key 中使用我的应用程序部署共享库吗?

谢谢

最佳答案

  1. 请包括所有相关的共享库。为此,运行 ldd your_app 以获取相关库的列表。
  2. 制作更可取的 POSIX shell 脚本来调用您的应用程序

  3. 在脚本中通过适当设置 LD_LIBRARY_PATH 指向您的库

关于c++ - 如何在我的二进制文件中包含共享库依赖项(不使用 .deb 或 .rpm)和/或静态链接到 PulseAudio?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29946416/

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