在 MinGW 编译的 C++ 程序中播放音乐文件

Play a music file in C++ program being compiled by MinGW

我正在使用 minGW 编译器制作一个 C++ 程序,该程序在游戏后台循环播放歌曲文件。我将其传递到命令提示符中:D:\project g++ music.cpp

我得到的错误是:

c:/mingw/bin/../lib/gcc/mingw32/9.2.0/../../../../mingw32/bin/ld.exe: C:\Users\User\AppData\Local\Temp\ccQ5qzuQ.o:music.cpp:(.text+0x2e): undefined reference to `PlaySoundA@12' collect2.exe: error: ld returned 1 exit status**

我做错了什么?对于 minGW(不是 visual studio),我找不到任何明确的解释。感谢您的帮助!!

密码是:

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

int main() {
  PlaySound(TEXT("blue.wav"), NULL, SND_SYNC);
  system("pause");
  return 0;
}```

“对 PlaySoundA 的未定义引用表明您没有将正确的库包含到您的项目中。它需要:Mmsystem.h(包含 Windows.h)Winmm.libWinmm.dll.

read more here

在 Code::Blocks 中添加库的步骤是:

  • 选择项目,构建选项。
  • 单击“链接器设置”选项卡。单击添加按钮。 ...
  • Select 库文件并单击“打开”按钮。单击否以避免使用相对路径。
  • 单击“确定”将库添加到列表中。 ...
  • 选择文件,保存项目。

确保 .dll 包含在您的路径环境变量中。