C ++ PlaySound();返回未定义的PlaySoundW @ 12引用

时间:2017-12-03 06:53:04

标签: c++ playsound

我一直在尝试用Pla​​ySound()播放.M4A文件;在code :: blocks(C ++)中。 我查看了几个网站,发现没有什么能真正帮助我。我可能犯了一个非常小的错误,但如果有人可以提供帮助,那就太棒了。

#include <iostream>
#include <conio.h>
#include <windows.h>

using namespace std;

int main()
{
    PlaySound("wt.M4A", NULL, SND_ASYNC | SND_FILENAME);
    Beep(1000,1000);
    getch(); // wait
    return 0;
}

我希望代码播放音频剪辑,然后发出哔哔声,我尝试删除beep();

相反,我收到一条错误消息:

Undefined reference to PlaySoundW@12

谢谢!

1 个答案:

答案 0 :(得分:0)

您必须链接到winmm.lib / libwinmm.a才能拥有PlaySoundA / PlaySoundW功能。

另外,请注意unicode:您正在调用PlaySoundW,但是您传递的是ANSI字符串。 确保调用PlaySoundA或使用unicode字符串。 要使用unicode字符串,有TEXT宏,您必须#define UNICODE或-DUNICODE命令行选项。