0

「ソリューション」という名前のビジュアルスタジオ2008を使用して作成されたソリューションがあり、そのソリューションにはプロジェクト「A」とプロジェクト「B」の2つのプロジェクトがあります。以下のようなことをすると、下部に致命的なエラーが表示されます。プロジェクトA->プロパティ->追加のインクルードディレクトリを../Bとして指定しました

プロジェクトB

Bh

#include <iostream>

using namespace std;
class B
{
public:
    B();
    ~B();
};

B.cpp

#include "B.h"

B::B()
{

}

B::~B()
{

}

プロジェクトA

ああ

#include <iostream>

using namespace std;
class A
{
public:
    A();
    ~A();
};

A.cpp

#include "A.h"
#include "B.h"
A::A()
{
    B b;
}

A::~A()
{

}

プロジェクト A の Main.cpp

#include "B.h"

int main()
{
    B b;
    system("pause");
}

私が実行すると、それは言います

エラー 3 致命的なエラー LNK1120: 2 つの未解決の外部 H:\Sol\Debug\A.exe

エラー 2 エラー LNK2001: 未解決の外部シンボル "public: __thiscall B::B(void)" (??0B@@QAE@XZ) A.obj

エラー 1 エラー LNK2001: 未解決の外部シンボル "public: __thiscall B::~B(void)" (??1B@@QAE@XZ) A.obj

4

1 に答える 1

1

プロジェクト B からクラス B をエクスポートしているようには見えません。そのため、プロジェクト A はクラス B の宣言を認識しますが、その実装を見つけることができません。プロジェクト B は何を構築しますか?

于 2010-03-05T02:03:54.777 に答える