我们在配置OpenAL的时候到底做了什么
一、结论在先
SDK安装 == 仅复制文件到安装指定文件夹下
oalinst.exe == 将 32 位和 64 位的两个 DLL 分别拷贝至对应的系统文件夹
OpenAL32.dllwrap_oal.dll
二、我为什么要这样做 —— 不想反复的安装SDK
最近的项目中需要对之前开发的基于 OpenAL 的音频处理库进行封装,在打包调试的过程中发现了一个问题,就是按照我之前一篇博客配置的流程,中间第二步安装 oalinst.exe,如果这一步不进行,那么编译不会报错,但是并没有声音。如果我不去处理这个问题,会造成以下结果:
在每一台新机器上需要使用我的音频处理模块时都需要安装 SDK。
这个就很不方便,因为我的模块可能会在大程序里,但是还总得想着带着这个安装包,如果以后我不负责这个模块,那么没有人知道为什么模块没错误却没有声音。
三、我是怎么解决的
所以为了解决这个问题,我进行了如下工作,其实也很简单:
首先在安装SDK的情况下:
打开 C:\Windows\System32 和 SysWOW64 文件夹
不安装 oalinst.exe ,测试程序是否好用。 (NO) 记录两个文件夹下的文件数 N1
安装 oalinst.exe ,测试程序是否好用。 (YES) 记录两个文件夹下的文件数 N2
卸载 oalinst.exe ,测试程序是否好用 (NO),如果不好用是否跟1的状态一样。 (YES)
发现 N1 和 N2 的差,初步找到了问题所在。
将两个文件夹中多出的文件拷贝出来(两个DLL),卸载 oalinst.exe,将这两个 DLL 放在我的程序目录
下,在一台完全没有配置 OpenAL 的机器上运行,测试是否好用。(YES)
四、问题解决
找到了问题所在,也就是 SDK 安装这一步仅复制了以下 5 个文件夹到安装目录下。
docs
include
libs
redist
samples
而关键的是 oalinst.exe 这一步,不仅把 OpenAL32.dll 复制到对应的系统目录下,还多复制了一个 wrap_oal.dll 那么把这俩文件拷出来放在我的模块中,以后不安装 OpenAL 的机器也能顺利调用我的模块啦。文章可能写的比较啰嗦,欢迎有问题的同学来交流。
我们在配置OpenAL的时候到底做了什么相关推荐
- volatile关键字到底做了什么?
话不多说,直接贴代码 class Singleton {private static volatile Singleton instance;private Singleton(){}//双重判空pu ...
- iis服务器怎样配置多张证书,IIS配置多个ssl怎么做?怎么配置?
给服务器添加配置SSL证书是很有必要的,这个也是当下众多网站的一个选择,给网站安装配置了SSL证书之后,网站的安全性也被提升了,这样网站的地址也是值得大家去信赖的,不过不同的网站他们在配置SSL证书的 ...
- 忠于职守 —— sysmon 线程到底做了什么?(九)
在 runtime.main() 函数中,执行 runtime_init() 前,会启动一个 sysmon 的监控线程,执行后台监控任务: systemstack(func() { // 创建监控线程 ...
- http.ListenAndServe()到底做了什么?
参考:https://studygolang.com/articles/25849?fr=sidebar http://blog.csdn.net/gophers 实现一个最简短的hello wo ...
- ad中电容用什么封装_二极管在电路中到底做什么用的
所有的电子电路中基本上都会用到二极管,它的特性也是非常之多,最主要就是单方向导电性,(单向导电性的两根引脚之间的电阻分为正向电阻和反向电阻两种).人们利用这些不同特性构成各种具体的应用电路,分析不同电 ...
- MySQL实战 | 01 当执行一条 select 语句时,MySQL 到底做了啥?
原文链接:当执行一条 select 语句时,MySQL 到底做了啥? 也许,你也跟我一样,在遇到数据库问题时,总时茫然失措,想重启解决问题,又怕导致数据丢失,更怕重启失败,影响业务. 就算重启成功了, ...
- python中mod是什么意思_【python中,mod_python到底做了些什么呢?】mod python 教程
python 编程小白 ,不会用doctest 请大神指教怎么用!! >>> >>> def is_between(v, lower, higher): ... ...
- 又被黑!百度到底做错了什么?
前几天中国互联网巨头的市值又"更新"了一下,没想到百度现在"沦落"成了其它互联网公司市值的衡量单位. 图片来源自腾讯新闻 这一次,怕百度被"黑&quo ...
- 软件在安装时,到底做了些什么?
软件在安装时,到底做了些什么? 大家每天都在用电脑,可能也经常在自己的电脑上安装软件.就算自己没安装过,至少也看到人家安装过软件.在这里,我不是想教你怎么安装软件,而是想向你展示,软件在安装的过程中, ...
最新文章
- 复杂JSON参数传递后台处理方式
- RDC Lent ifm IP Analysis Exercise
- C语言僵尸进程,C/C++网络编程8——多进程服务器端之销毁僵尸进程
- Mac/Win 下浏览器网页长截屏(不安装截图软件实现)
- c语言面向对象:队列 (先进先出,后进先出)
- 扫地机器人市场:米家、科沃斯激烈肉搏
- Delphi使用THTTPClient实现异步下载
- 使用微信企业机器人发送信息
- 界面原型设计工具开源软件
- mac卸载python3.7_工具安装-Mac 卸载python3
- linux上设置别名alias(快速便捷打开文件)
- Android 读取CPU/GPU运行参数(MTK平台)
- 【题目】动态规划:小朋友过桥问题
- 南瓜派php,南瓜派 巧克力塔
- 华为--配置静态路由实现PC1与PC2通信
- 计算机网络八校联考,八校联考排名出炉!前十名华师一独占八席,在武汉上华师一有多难?...
- 前端和后端的英文_80后老阿姨转行做前端的学习心得,深情交流!
- SecuritySpy for Mac(Mac视频监控软件)
- 计算机毕业设计JAVA售后管理系统mybatis+源码+调试部署+系统+数据库+lw
- 电商平台API接口,店铺所有商品