您的位置:首页 > 其它

关于使用MIXER API 函数出现 “未解决的符号错误”的解决办法

2016-03-29 17:03 337 查看
博主使用windows 提供的MIXER API来做一个耳机拔插检测,音量控制的程序,参考MSDN的介绍,按照一般的思路先是include 一个包含MIXER API的头文件,然后看到MSDN上 Requirements:



那我就按照要求写喽~。

#include<mmsystem.h>
//.......省略很多文字
// TODO: code your application's behavior here.
UINT IDnum;
//MIXER API 之一
IDnum=mixerGetNumDevs();


然后给工程添加MSDN要求的静态库 coredll.lib



Proeject->Properties->Linker->Input->Additional Dependeceise

然后编译,就等着报错吧 -。-

ERROR : can not find ‘coredll.lib’ 云云

你会觉得很奇怪,

你的库文件名字搞错了?

你电脑没有装windows sdk?

去C盘的program files(x86)写的 windows sdk 下搜索coredll.lib试试?

天了噜了。。。都不是

事实就是:

包含的coredll.lib 确实在我win10系统,VS2015环境下是找不到的,google了很久才在一篇被人遗忘的Stak Overflow 文章里找到了蛛丝马迹,它居然被微软放在了 winmm.lib 里面了,也就是我们不应该包含coredll.lib ,而应该:



感觉被MSDN骗了有木有~

PS:你会觉得这我的标题有什么关系?

应为当你使用MIXER API 的时候,出现MIXER API 里提供的函数是未解决符号就是因为没有包含 静态库文件引起了的,那么你就会去查应该包含什么库。假如你“有幸”的在MSDN里面找了,并且很开心的添加coredll.lib,那么你就会发现我上面所说的问题-。-。

再PS:

另附一篇关于MIXER API 的详细教程

/article/3667305.html

如果想要完整的PDF资源,可以博客私信我~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: