c++ - C++ 无法链接最基本的应用程序
问题描述
我正在制作一个用于着色器解析的程序,我想将一些代码移动到不同的类中,然后我遇到了很多链接器错误,开始调试它们并尝试尽可能基本的情况来消除它们一,我删除了所有代码,我不知道是我累了还是我的视觉工作室有问题,但是这段代码:
主文件
#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上正常运行,没有问题。所以:
- 你最好检查编译选项参数。
- 这 3 个文件是否按照写入的命令放置在正确的路径(文件夹)中。
- “#pragma once”不标准,尝试将其更改为“#ifndef #define ... #endif”
当 *.h 和 *.cpp 对不对应时,通常会出现此问题。
推荐阅读
- android-studio - Android Studio 没有在 Theme 中显示任何已安装的插件
- vaadin - 向组件添加下拉按钮
- javascript - 一个 js 函数在按钮上创建 9 个不同的警报
- c++ - gradle externalNativeBuild 不接受 cmake INTERFACE 库
- python - 将 GUI 与 wxpython 集成时的代码结构是什么
- makefile - Makefile,所有规则模式的规则
- python - 列不存在(SQLAlchemy / PostgreSQL):引号有问题
- r - R包mrmre分数计算与提取
- python - 需要 Pyspark/Pandas 脚本来实现所需的结果
- wordpress - 如何使用 ACF 块实现 2 列布局