1

これは本当に私を打ち負かします.Visual Studio 2008は非常に頭が悪いので、次のエラーにはまったく役に立ちません.

私の C++ ソリューションには、いくつかのプロジェクトがあります。1 つのプロジェクトには、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
4

1 に答える 1

0

Bo Persson からのコメントを参照してください。各プロジェクトは、何らかの方法で正しいファイルにリンクする必要があります。ソース ファイルをプロジェクトに直接追加するか、アプリケーションにリンクする静的/動的ライブラリ プロジェクトを作成します。

于 2012-07-16T06:09:41.113 に答える