C++ PlaySound() 错误

Posted

技术标签:

【中文标题】C++ PlaySound() 错误【英文标题】:C++ PlaySound() Error 【发布时间】:2016-05-05 16:01:08 【问题描述】:

我想就有关音乐操作的应用程序提出一个问题:我用函数 PlaySound() 编译了一个程序,但显示了以下消息:[Linker error] undefined reference到“PlaySoundA@12”。我使用 Dev c++ 来做到这一点,因为我的 Visual Studio 有问题,我无法登录我的 Microsoft 帐户,也不允许我使用它。好吧,我不知道出了什么问题,也不让我播放声音。我包括 windows.h 和 mmsystem.h 标头,并且都正确编写。谁能帮我解决这个问题?

#include <windows.h>
#include <mmsystem.h>

int main()
    PlaySound("test.wav", NULL, SND_FILENAME);
    return 0;

【问题讨论】:

What is an undefined reference/unresolved external symbol error and how do I fix it?的可能重复 可能也有帮助 Problems importing libraries to my c++ project, how to fix this? 【参考方案1】:

您需要将编译器链接到 winmm.lib 库才能正确链接。

【讨论】:

我必须使用一次 pragma 才能做到这一点? 没有。 pragma once 与图书馆有什么关系?您是从哪里听到这个想法的?【参考方案2】:

只需在 main 函数之前添加以下行。

#pragma comment(lib, "Winmm.lib")

【讨论】:

以上是关于C++ PlaySound() 错误的主要内容,如果未能解决你的问题,请参考以下文章

C++ 中的 Playsound:.wav 文件的文件错误

如果 PlaySound() 失败,是不是可以检索最后的错误状态?

如何使用 PlaySound() 或任何基本函数/方法在 C++ 中同时播放 1 个以上的 .wav 声音?

如何异步使用playsound?

如何使用 (IBAction)playsound:(id)sender 播放声音 [关闭]

PlaySound() 函数不起作用