如何在不需要在客户端计算机上安装 OpenAL 的情况下随我的应用程序一起交付 OpenAL32.dll?
How do I deliver OpenAL32.dll with my application without requiring OpenAL installation on the client machine?
我有一个使用 OpenAL 库的 32 位 C++ Windows 应用程序。我正在使用官方 OpenAL 安装程序来安装所需的 DLL 文件,但是当我发布我的应用程序时,我想找到一种交付它的方法,而不需要用户像我一样单独安装 OpenAL。
对于其他 DLL 文件,我只是将它们添加到我的项目中,但是对于 OpenAL,我似乎遇到了问题。这可能吗?如果是,怎么做?
显然,我混淆了 Windows 中的 System32 和 SysWow64 文件夹。
应该反过来吧!
- System32 64 位 Windows 包含 64 位
.dll
文件
- 64 位 Windows 上的 SysWow64 包含 32 位
.dll
文件
我做了什么:
所以我从官方安装源安装了OpenAL。此安装程序将 OpenAL32.dll
文件复制到 System32
和 SysWow64
文件夹中。
由于我的应用程序是 32 位的,因此我需要将 OpenAL32.dll
从 SysWow64 文件夹复制到我的可执行目录中。一旦我卸载了 OpenAL(它从我的 Windows System32
和 SysWow64
文件夹中删除了这些 .dll
文件,它与我的可执行文件附带的 .dll
文件一起工作。
我有一个使用 OpenAL 库的 32 位 C++ Windows 应用程序。我正在使用官方 OpenAL 安装程序来安装所需的 DLL 文件,但是当我发布我的应用程序时,我想找到一种交付它的方法,而不需要用户像我一样单独安装 OpenAL。
对于其他 DLL 文件,我只是将它们添加到我的项目中,但是对于 OpenAL,我似乎遇到了问题。这可能吗?如果是,怎么做?
显然,我混淆了 Windows 中的 System32 和 SysWow64 文件夹。
应该反过来吧!
- System32 64 位 Windows 包含 64 位
.dll
文件 - 64 位 Windows 上的 SysWow64 包含 32 位
.dll
文件
我做了什么:
所以我从官方安装源安装了OpenAL。此安装程序将 OpenAL32.dll
文件复制到 System32
和 SysWow64
文件夹中。
由于我的应用程序是 32 位的,因此我需要将 OpenAL32.dll
从 SysWow64 文件夹复制到我的可执行目录中。一旦我卸载了 OpenAL(它从我的 Windows System32
和 SysWow64
文件夹中删除了这些 .dll
文件,它与我的可执行文件附带的 .dll
文件一起工作。