2013-06-01 112 views
-1

正如我以前曾派出约LNK 2019一些问题,我面对了一段代码同样的问题,我不明白是怎么回事:错误LNK2019:无法解析的外部符号“公用:__thiscall

RTIFederate.cpp

#include "RTIFedAmb.h" 
#include "RTIFederate.h" 

.... 

this->fedamb = new RTIFedAmb(); <- ERROR ! LNK 2019 

RTIFedAmb.h

class RTIFedAmb : public NullFederateAmbassador 
{ 
public: 
    // methods // 
    RTIFedAmb(); 
    virtual ~RTIFedAmb() throw(); 
} 

文件RTIFederate.h

class RTIFederate 
{ 
public: 
    RTIambassador *rtiamb; 
    RTIFedAmb  *fedamb; 
} 

RTIFedAmb.cpp

#include "RTIFedAmb.h" 
using namespace rti1516e; 
using namespace std; 


//---------------------------------------------------------------------- 
//          CONSTRUCTORS 
//---------------------------------------------------------------------- 
RTIFedAmb::RTIFedAmb() 
{ 

} 

RTIFedAmb::~RTIFedAmb() throw() 
{ 
} 

谁能帮我这个错误?我错过了什么?

+3

这是为什么标签MATLAB? –

+0

'我错过了什么?' - 链接器已经回答了。 – kotlomoy

+0

@kotlomoy我发现要求编译器的问题是一个徒劳的努力。 –

回答

0

我看到你原来的问题是RTI3.cpp是#包括“RTIFederate.cpp”。这不被推荐。分离你的源文件进行编译后,如果仍然有链接错误,我建议你使用VS工具dumpbin.exeundname.exe。 DUMPBIN可以显示您的RTIFedAmb构造既定义和引用(OBJ文件),以及泄露任何装修问题(调用约定,链接等)。 Undname可以帮助您了解和解决这些差异。

相关问题