2013-03-25 2 views
0

Я использую Windows 7, работающую на Visual Studio 2010, и запись на Cc.Использование PlaySound для воспроизведения wav-файла

Вот фрагмент моего кода. Когда условие выполнено (температура выше верхнего предела), я хочу воспроизвести wav-файл с моего компьютера. Я проверил вокруг форумов, и я скопировал тот же формат, что и предыдущий плакат, если бы у меня была такая же проблема. Я получаю следующие ошибки:

1> lab4TemperatureController.obj: LNK2019 ошибки: неразрешенный внешний символ _ имп _PlaySoundA @ 12 ссылки в функции "ничтожной __cdecl activateAlarm (междунар, Int)" (activateAlarm @@ YAXHH @Z)

1> C: \ Users \ Hassman \ Documents \ Visual Studio 2010 \ Projects \ LaB6 \ lab6TemperatureControlTime \ Debug \ lab3temperaturesensor.exe: фатальная ошибка LNK1120: 1 неразрешенных внешних

Вот мои заголовочные файлы, включенные в мой CPP

#include "stdafx.h" 
#include "lab4temperatureController.h" 
#include <conio.h> 
#include "console.h" 
#include <iostream> 
#include <Windows.h> 

вот моя функция, которая вызывает PlaySound

void activateAlarm(int channelID, temperature_t temperature) 
{ 
    int key = 0; 

    if ((temperatureChannel[channelID].currentTemperature > temperatureChannel[channelID].highLimit) | (temperatureChannel[channelID].currentTemperature < temperatureChannel[channelID].lowLimit)) 
     PlaySound(TEXT("C:\\Users\\Hassman\\Documents\\Visual Studio 2010\\Projects\\lab6\\lab6TemperatureControlTime\\lab3temperaturesensor\\untitled"),NULL,SND_FILENAME); 
    sensorLog(); 
    if (_kbhit()) 
     key = _getch();   
    if ((key == 'P') | (key == 'p')) 
    { 
     silenceBeep(); 
    } 
} 

ответ

3

Похоже, вы забываете связать объектный файл с библиотекой, которая содержит реализацию этой функции при генерации исполняемого файла вывода.

Согласно The MSDN Library, использование PlaySound требует ссылки на Winmm.lib.

Смежные вопросы