2010-03-05 71 views
0

我使用Visual Studio 2008命名为创建一个解决方案,“解决方案”,我已经在这个解决方案,项目中的两个项目“一个”和项目“B“。当我做下面的事情时,它会在底部显示致命的错误。我的项目已经给A->属性 - >附加包含Directries作为../BC++ Visual Studio 2008的问题有两个项目,一个解决方案

B项目

了Bh

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

} 

Main.cpp的项目一个

#include "B.h" 

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

当我运行它说

错误3致命错误LNK1120:2周解析的外部H:\溶胶\调试\ A.exe时

错误2错误LNK2001:解析外部符号“公共:__thiscall B :: B( (??)(?? 0B @@ QAE @ XZ)A.obj

错误1错误LNK2001:无法解析的外部符号“public:__thiscall B ::〜B(void)”(?? 1B @@ QAE @ XZ )A.obj

回答

1

它看起来不像是从项目B中导出类B,所以项目A看到类B的声明但找不到它的实现。项目B构建什么?

+0

B.obj和其他人 – Buddhi

+0

项目B链接?它会产生一个dll吗?它是否会生成项目A应该链接的.lib文件?如果它产生的只是一些.obj文件,那么为什么 - 项目B的目的是什么? –

+0

谢谢!我没有包含obj文件 – Buddhi

相关问题