链接 2019 简单类 C++ 错误

Posted

技术标签:

【中文标题】链接 2019 简单类 C++ 错误【英文标题】:link 2019 Error For Simple Class C++ 【发布时间】:2014-01-06 02:39:27 【问题描述】:

我似乎无法修复我在 Visual Studio 2013 上不断遇到的这个 LNK2019 错误。

我一直在研究堆栈交换,但我认为我的代码很好。 该错误是创建 ParkingMeter 变量的结果。我不知道如何解决这个问题。任何帮助将不胜感激。

ParkingMeter.h:

#ifndef PARKINGMETER
#define PARKINGMETER
using namespace std;

class ParkingMeter
private:
    int minPurchased;
public:
    ParkingMeter(int);
    ParkingMeter();
    int getMinutes();
;
#endif

ParkingMeter.cpp:

using namespace std;
#include "ParkingMeter.h"
ParkingMeter::ParkingMeter(int minutes)

minPurchased = minutes;

ParkingMeter::ParkingMeter()
minPurchased = 0;

int ParkingMeter::getMinutes() return minPurchased; 

test.cpp:

#include <iostream>
#include "ParkingMeter.h"
using namespace std;
int main()

    ParkingMeter meter(2);

完整的错误信息:

错误 1 ​​错误 LNK2019:函数 _main C:\Users\Max\Documents\Visual Studio 中引用的未解析外部符号“public: __thiscall ParkingMeter::ParkingMeter(int)”(??0ParkingMeter@@QAE@H@Z) 2013\Projects\Project3\Project3\test.obj

【问题讨论】:

可能是一个愚蠢的问题,但是:所有这些文件都在一个项目中吗?您是在构建项目,而不仅仅是一个文件? 显示 FULL 错误。它包含重要信息。看起来您的项目设置不正确。 所有这些文件都在一个项目中。我不是在构建单个文件。我什至不知道如何使用 Visual Studio 做到这一点。我正在构建整个项目。 完整错误信息:错误 1 ​​错误 LNK2019:未解析的外部符号“public: __thiscall ParkingMeter::ParkingMeter(int)”(??0ParkingMeter@@QAE@H@Z) 在函数 _main C 中引用: \Users\Max\Documents\Visual Studio 2013\Projects\Project3\Project3\test.obj 此处发布的代码构建良好。此代码与您的实际代码之间一定存在一些差异。 【参考方案1】:

我认为这段代码没有任何问题。

我已从您的 ParkingMeter.hParkingMeter.cpp 中删除了以下代码。 (保存在test.cpp文件中)

using namespace std;

编辑:您的项目中似乎没有添加ParkingMeter.cpp。请右键单击您的project - &gt; Add -&gt; existing Item -&gt; and provide cpp file。你可以走了!

【讨论】:

我认为这三个文件都没有必要。我从标题中删除了它,但它对错误没有影响。 我把它贴在上面的cmets上。谢谢! @user2284725 你能解决问题吗? 由于某种原因,我无法解决我已经创建的项目中的问题,但我创建了一个新项目并使用完全相同的代码创建了三个新文件,现在它可以工作了。我不确定我做了什么来搞乱另一个项目。感谢您的帮助!

以上是关于链接 2019 简单类 C++ 错误的主要内容,如果未能解决你的问题,请参考以下文章

glutBitmapCharacter() 给出链接错误 c++

VS2019 C++动态链接库的创建使用 - 如何导出类

Visual C++ 2017,外部“C”被忽略了吗?将 C++ 代码链接到 C 库时出现 LNK2019 错误

传递给类构造函数的 C++ 字符串 - 链接器错误

如何使用 Visual Studio 2019 和 c++ 链接 OpenSSL 库?

重复符号链接器错误(C++ 帮助)