如何通过我的应用程序交付 OpenAL32.dll,而不需要在客户端计算机上安装 OpenAL?

问题描述 投票:0回答:2

我有一个使用 OpenAL 库的 32 位 C++ Windows 应用程序。我正在使用官方 OpenAL 安装程序来安装所需的 DLL 文件,但是当我发布我的应用程序时,我想找到一种方法来交付它,而不需要用户像我一样单独安装 OpenAL。

对于其他 DLL 文件,我只需将它们添加到我的项目中,但对于 OpenAL 我似乎遇到了问题。这可能吗?如果是这样,怎么办?

c++ windows dll openal
2个回答
0
投票

显然,我混淆了 Windows 中的 System32 和 SysWow64 文件夹。

应该是相反的!

    64 位 Windows 上的
  • System32 包含 64
    .dll
    文件
  • 64 位 Windows 上的
  • SysWow64 包含 32
    .dll
    文件

供参考: https://www.howtogeek.com/326509/whats-the-difference- Between-the-system32-and-syswow64-folders-in-windows/

我做了什么:

所以我从官方安装源安装了OpenAL。此安装程序会将

OpenAL32.dll
文件复制到
System32
SysWow64
文件夹中。

由于我的应用程序是 32 位,我需要将

OpenAL32.dll
从 SysWow64 文件夹复制到我的可执行目录中。一旦我卸载了 OpenAL(它从我的 Windows
.dll
System32
文件夹中删除了这些
SysWow64
文件),它就可以与我的可执行文件附带的
.dll
文件一起使用。


0
投票

安装Nuget包OpenAL.Soft,该包包含32位和64位Windows dll、导入库和头文件。您将不再需要 Windows 目录 dll。

© www.soinside.com 2019 - 2024. All rights reserved.