我试图在visual studio express 2013(Visual C ++)中使用mciSendString,但我一直收到错误
Error 1 error C3861: 'mciSendStringA': identifier not found
我认为这是因为我没有链接到正确的dll,但我在网上或msdn上找不到有关如何链接到dll的任何细节。似乎很奇怪,没有更明显的文件记录。有人能告诉我如何链接到DLL吗?
编辑:
以下是我尝试运行的代码:
#include <Windows.h>
#include <iostream>
#include <mmsystem.h>
extern char command1[] = "open C:\\boing.mp3 type MPEGVideo alias 0";
extern char command2[] = "play 0 from 0";
int main()
{
mciSendStringA(command1, NULL, 0, 0);
mciSendStringA(command2, NULL, 0, 0);
}
答案 0 :(得分:3)
要使mciSendString()
生效,您需要链接到winmm.lib
。
只需将winmm.lib
添加到Project Properties > Linker > Input > Additional Dependencies
即可。
答案 1 :(得分:0)
查看mmsystem.h
(诚然来自V7.1A Windows SDK,这是我安装的最新版本),我可以看到其中有一个#ifdef _WIN32
块。如果未定义_WIN32
,则不会声明mciSendStringA
。而是声明mciSendString
。
检查项目选项并确保定义了WIN32
和_WIN32
。我猜你是从一个控制台项目开始的,而不是一个Windows应用程序项目,并且至少有一个没有定义。