C++ PlaySound(); возвращение неопределенной ссылки на PlaySoundW@12
Я пытался воспроизвести файл.M4A с помощью PlaySound(); в коде:: блоки (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;
}
Я ожидаю, что код воспроизводит аудиоклип, затем воспроизводит звуковой сигнал, и я попытался удалить звуковой сигнал ();
вместо этого я получаю сообщение об ошибке:
Undefined reference to PlaySoundW@12
Спасибо!
1 ответ
Вы должны установить ссылку на winmm.lib / libwinmm.a, чтобы иметь функции PlaySoundA / PlaySoundW.
Также будьте осторожны с юникодом: вы вызываете PlaySoundW, но передаете строку ANSI. Обязательно вызовите PlaySoundA или используйте строки Unicode. Чтобы использовать строки Unicode, существует макрос TEXT, и вы должны указать опцию командной строки #define UNICODE или -DUNICODE.