我有一个使用OpenAL库的32位C++ Windows应用程序。我使用官方OpenAL安装程序来安装所需的DLL文件,但当我发布我的应用程序时,我想找到一种方法来交付它,而不需要用户像我一样单独安装OpenAL。对于其他DLL文件,我只是简单地将它们添加到我的项目中,但对于OpenAL,我似乎遇到了问题。这可能吗?如果可能,如何实现?
vjhs03f71#
安装Nuget软件包OpenAL.Soft,该软件包包含32位和64位的Windows DLL,导入库和头文件。您将不再需要Windows目录DLL。您还可以将Fody与Costura.Fody结合使用,以将所有nuget和引用的程序集嵌入到应用程序中。
wqsoz72f2#
显然,我混淆了Windows中的System32和SysWow 64文件夹。应该反过来才对!
.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从SysWow 64文件夹复制到我的可执行文件目录中。一旦我删除OpenAL(从我的Windows System32和SysWow64文件夹中删除这些.dll文件),它就可以与我的可执行文件一起使用.dll文件。
OpenAL32.dll
System32
SysWow64
2条答案
按热度按时间vjhs03f71#
安装Nuget软件包OpenAL.Soft,该软件包包含32位和64位的Windows DLL,导入库和头文件。您将不再需要Windows目录DLL。
您还可以将Fody与Costura.Fody结合使用,以将所有nuget和引用的程序集嵌入到应用程序中。
wqsoz72f2#
显然,我混淆了Windows中的System32和SysWow 64文件夹。
应该反过来才对!
.dll
文件.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
从SysWow 64文件夹复制到我的可执行文件目录中。一旦我删除OpenAL(从我的WindowsSystem32
和SysWow64
文件夹中删除这些.dll
文件),它就可以与我的可执行文件一起使用.dll
文件。