windows api unresolved external symbol __imp__mcisendcommanda

使用了mciSendCommand,头文件也包含了,但是连接报错:

DIGITALVIDEO.OBJ : error LNK2001: unresolved external symbol __imp__mciSendCommandA@16

明显是找不到相应的函数,问题是link选项里没有加入相应的lib库,如本例就,应在link里加入"winmm.lib",否则编译器无从赵东相应的函数,在工程主程序中的前面加上#pragma comment(lib, "winmm.lib"),特定库的找到方法是看LNK 2001中找不到的函数名,通过MSDN或者其他的手段获取这个函数所在的库名,链接进去就OK了。

通过MSDN找到 mciSendCommand函数,Requirements 
在requrement 中,可看到如下的解释

  Windows NT/2000: Requires Windows NT 3.1 or later.
  Windows 95/98: Requires Windows 95 or later.
  Header: Declared in Mmsystem.h.
  Library: Use Winmm.lib.
  Unicode: Implemented as Unicode and ANSI versions on Windows NT/2000

library:Use Winmm.lib说明mciSendCommand函数是属于Winmm.lib库的

Header: Declared in Mmsystem.h.说明使用mciSendCommand函数时头文件中须有Mmsystem.h.

http://www.cppblog.com/xczhang/archive/2008/01/10/40866.html

原文地址:https://www.cnblogs.com/youxin/p/2857150.html