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

C++ Failing to link the most basic application

本文关键字:应用程序 链接 C++      更新时间:2023-10-16

我正在制作一个用于着色器解析的程序,我想将一些代码段移动到不同的类,然后我收到了很多链接器错误,开始调试它们并尝试尽可能基本地消除它们一个接一个,我删除了所有代码,我不知道这只是我累了还是我的视觉工作室出了问题,但是这个法典:

主.cpp

#include "Shader.h"
int main()
{
Shader shader;
shader.DoStuff();
return 0;
}

着色器.h

#pragma once
class Shader
{
public:
void DoStuff();
};

着色器.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

比如,我忘记了某事或发生了什么?

它已通过编译,可以在我的计算机Visual Studio上正常运行,没有问题。所以:

  1. 您最好检查编译选项参数。
  2. 这 3 个文件是否作为写入的命令放在正确的路径(文件夹(中。
  3. "#pragma 一次"不是标准的,尽量改成"#ifndef #define......#endif">

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