CPP 错误 LNK2019:未解析的外部符号 cpp

CPP error LNK2019: unresolved external symbol cpp

Error   1   error LNK2019: unresolved external symbol "public: void __thiscall Sounds::soundBox(void)" (?soundBox@Sounds@@QAEXXZ) referenced in function _main    

出于某种原因,我得到了这个错误,我真的不知道我做错了什么。 从 main() 调用时获得 wimm.lib 添加的播放音效 当我尝试从 playsound.cpp 中的 class 调用它时,它调用错误...

playsounds.h

#pragma once
#include <Windows.h>

class Sounds
{
public:
Sounds();
~Sounds();

void soundBox();
};

playsound.cpp

#include "playsound.h"

Sounds::Sounds()
{

}

void soundBox()
{
PlaySound(TEXT("fx/boom1.wav"), NULL, SND_FILENAME);
}


Sounds::~Sounds()
{

}

main.cpp

#include <iostream>
#include <conio.h>
#include "playsound.h"    

int main()
{
Sounds newsound;

newsound.soundBox();

_getch();
}

您需要更改 playsound.cpp

中的函数定义
void soundBox()

void Sounds::soundBox()

这是因为函数存在于Soundsclass的范围内,所以你必须这样定义它。否则它将是一个自由函数,并且你的 Sounds class 中的函数版本将是未定义的(这是错误告诉你的)。