C ++ Visual Studio 2008 выпуск с двумя проектами в одном решении - PullRequest
0 голосов
/ 05 марта 2010

У меня есть решение, созданное с использованием Visual Studio 2008, с именем " Solution ", и у меня есть два проекта в этом решении: проект " A " и проект " B". ». когда я делаю что-то вроде ниже, это показывает фатальные ошибки внизу. Я дал в проекте A-> свойства-> Дополнительные включают Directries как ../B

проект B

B.h

#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()
{

}

Main.cpp в проекте A

#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

1 Ответ

1 голос
/ 05 марта 2010

Не похоже, что вы экспортируете класс B из проекта B. Поэтому проект A видит объявление класса B, но не может найти его реализацию. Что строит проект B?

...