2013-06-01 147 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可以幫助您瞭解和解決這些差異。

相關問題