我正在使用运行Visual Studio 2010的Windows 7并使用Cc编写。
以下是我的代码片段。当条件满足时(温度高于上限),我想从我的电脑播放一个wav文件。我在论坛周围检查了我复制了与之前的海报相同的格式,如果我仍然有同样的问题。我收到以下错误:
1&gt; lab4TemperatureController.obj:错误LNK2019:函数“void __cdecl activateAlarm(int,int)”中引用了未解析的外部符号_ imp _PlaySoundA @ 12(?activateAlarm @@ YAXHH @ Z)< / p>
1&gt; 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>
这是我调用playound的函数
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();
}
}
答案 0 :(得分:3)
在生成可执行输出文件时,您似乎忘记将目标文件与包含该函数实现的库链接。
根据The MSDN Library,使用PlaySound
需要与Winmm.lib
进行关联。