C ++无法链接最基本的应用程序

时间:2018-08-18 12:48:25

标签: c++ linker linker-errors unresolved-external

我当时正在制作一个用于着色器解析的程序,我想将一些代码移到不同的类中,然后我遇到了很多链接器错误,开始对其进行调试,并尝试尽可能地消除基本情况他们一一删除,我删除了所有代码,不知道是我累了还是我的视觉工作室出了点问题,但是这段代码:

main.cpp

#include "Shader.h"

int main()
{
    Shader shader;
    shader.DoStuff();

    return 0;
}

Shader.h

#pragma once
class Shader
{
public:

    void DoStuff();
};

Shader.cpp

#include "Shader.h"
void Shader::DoStuff()
{
}

生成链接器错误:

Severity    Code    Description Project File    Line    Suppression State
Error   LNK2019 unresolved external symbol "public: void __thiscall Shader::DoStuff(void)" (?DoStuff@Shader@@QAEXXZ) referenced in function _main   ShaderParser

就像,我是否忘记了某些事情或发生了什么事?

1 个答案:

答案 0 :(得分:-1)

它已通过编译,并且可以在我的计算机Visual Studio上正确运行,没有问题。因此:

  1. 您最好检查编译选项参数。
  2. 是否按照编写的命令将这3个文件放在正确的路径(文件夹)中。
  3. “#pragma一次”不是标准的,请尝试将其更改为“ #ifndef #define ... #endif”

当一对* .h和* .cpp不对应时,通常会发生此问题。