2016-11-29 57 views
0

我有兩個項目的解決方案 - proj_1,proj_2無法解析的外部符號 - 從其他項目調用靜態函數

proj_1是LIB項目,proj_2是常規項目

proj_2我有功能命名爲static void proj_2_func()。 我試圖從proj_1(不創建對象)調用該函數,但我得到鏈接錯誤 - unresolved external symbol

proj_2: 

class proj_2_class 
{ 
    public: 
    static void proj_2_func(); //the implementation is not relevant 
} 


proj_1: 

in cpp file: 

#include proj_2_class.h // I added the path to "additional include files" in proj_1 

void proj_1_class::proj_1_func() 
{ 
    proj_2_class::proj_2_func(); 
} 

生病是高興,對錯誤的指導。

謝謝。

+1

的可能的複製[什麼是未定義參考/解析的外部符號錯誤以及如何解決它?](http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-doi-i-fix) – Danh

回答

0

因爲你的函數proj_1_class::proj_1_func調用函數proj_2_class::proj_2_func,後者需要有地方提供了一個實現 - 不這樣做是什麼原因造成的連接錯誤

+0

它具有'proj_2'類的實現.. – user1673206

+0

構建'proj_1'時編譯的文件「proj_2.cpp」(或者提供所述實現的文件是否被調用)?我懷疑不是 – Smeeheey

+0

我首先編譯了'proj_2',之後編譯了'proj_1' – user1673206

相關問題