gpt4 book ai didi

c++ - MSVC linker error LNK2019 when reusing a base class in C++ 解决方案

转载 作者:太空宇宙 更新时间:2023-11-04 14:15:34 25 4
gpt4 key购买 nike

这真的打败了我,Visual Studio 2008 太无脑了,它对以下错误根本没有帮助。

我的 C++ 解决方案中有几个项目。一个项目在 crashreporter.h 和 crashreporter.cpp 文件中有基本的 C++ 类 CCrashReporter。

我需要从它派生另一个类,该类位于同一解决方案的另一个项目中。所以我这样做:

//From CrashReporter2.h
#pragma once
#include "..\BaseModules\CrashReporter.h"

class CCrashReporter2 :
public CCrashReporter
{
public:
CCrashReporter2(void);
virtual ~CCrashReporter2(void);
};

然后:

//From crashreporter2.cpp
#include "StdAfx.h"
#include "CrashReporter2.h"


CCrashReporter2::CCrashReporter2(void):
CCrashReporter(ENTERY_PARAM_FOR_REPORTER2)
{
}

CCrashReporter2::~CCrashReporter2(void)
{
}

上面的代码编译正常,但是当链接器运行时我得到这些:

1>CrashReporter2.obj : error LNK2019: unresolved external symbol "public: __thiscall CCrashReporter::CCrashReporter(int) blah-blah
1>CrashReporter2.obj : error LNK2019: unresolved external symbol "public: __thiscall CCrashReporter::~CCrashReporter(void) blah-blah
1>C:\Users\Dev\C++\ProjName123\Debug\Mod123.exe : fatal error LNK1120: 2 unresolved externals

最佳答案

请参阅 Bo Persson 的评论。每个项目都需要以一种或另一种方式链接到正确的文件。将源文件直接添加到项目中,或者创建链接到应用程序的静态/动态库项目。

关于c++ - MSVC linker error LNK2019 when reusing a base class in C++ 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11498793/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com