1

我很难构建一个用 C++ 编写的命令行工具,以便它可以由 Ubuntu 的 i386 和 amd64 版本(理想情况下也是其他发行版,但这并不重要)执行。它将在 USB 密钥上分发,因此我无法控制打包。

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

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

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

谢谢

4

1 回答 1

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

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

于 2015-04-30T16:24:12.607 回答