我使用名为“解决方案”的visual studio 2008创建了一个解决方案,我在该解决方案中有两个项目,项目“ A ”并项目“乙”。当我做下面这样的事情时,它会显示底部的致命错误。我在项目A-> properties->中给出了附加包含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
A.H
#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
答案 0 :(得分:1)
看起来你不是从项目B中导出B类。所以项目A看到了B类的声明但是找不到它的实现。项目B构建了什么?