在 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.
在 Code::Blocks 中添加库的步骤是:
- 选择项目,构建选项。
- 单击“链接器设置”选项卡。单击添加按钮。 ...
- Select 库文件并单击“打开”按钮。单击否以避免使用相对路径。
- 单击“确定”将库添加到列表中。 ...
- 选择文件,保存项目。
确保 .dll 包含在您的路径环境变量中。
我正在使用 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.
在 Code::Blocks 中添加库的步骤是:
- 选择项目,构建选项。
- 单击“链接器设置”选项卡。单击添加按钮。 ...
- Select 库文件并单击“打开”按钮。单击否以避免使用相对路径。
- 单击“确定”将库添加到列表中。 ...
- 选择文件,保存项目。
确保 .dll 包含在您的路径环境变量中。