0

Visual Studio2010を実行しているWindows7を使用しており、Ccで記述しています。

これが私のコードの抜粋です。条件が満たされたとき(温度が上限より高いとき)、コンピューターからwavファイルを再生したいと思います。フォーラムをチェックして、以前のポスターと同じ形式をコピーしましたが、それでも同じ問題が発生しました。次のエラーが発生します。

1> lab4TemperatureController.obj:エラーLNK2019:未解決の外部シンボル_ imp _PlaySoundA@12が関数"void__cdecl activateAlarm(int、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();
    }
}
4

1 に答える 1

3

実行可能出力ファイルの生成中に、オブジェクトファイルをその関数の実装を含むライブラリにリンクするのを忘れているようです。

MSDNライブラリによると、を使用するには。PlaySoundとリンクする必要がありWinmm.libます。

于 2013-03-25T21:22:41.023 に答える