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

时间:2015-02-05 18:07:48

标签: c++ external symbols lnk2019

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

出于某种原因,我得到了这个错误,我不知道我做错了什么。 从main()调用wimm.lib添加了playound工作 当我尝试从playsound.cpp中的类调用它时,它会调用错误...

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();
}

1 个答案:

答案 0 :(得分:1)

您需要更改playsound.cpp

中的功能定义
void soundBox()

void Sounds::soundBox()

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