2013-04-29 188 views
0

靜態誤差:靜態成員變量出口

in test1.dll: 
    xxx.h 
    class AFX_EXT_CLASS CTest1 
    { 
     static int num; 
    } 

    xxx.cpp 
    int CTest1::num = 0; 

    in a cpp of test2.dll: test2 is dependent test1.dll 
    ... 
    int i = CTest1::num; 
    ... 

    in a cpp of App: App is dependent test1.dll & test2.dll 
    ... 
    int i = CTest1::num; 
    ... 
在test2.dll

「未解析的外部符號」 靜態:CTest1 :: NUM。 但在App中,沒問題。

順便說一句:如果我使用CTest1的其他功能,沒問題。

幫助我,非常感謝。

+0

爲什麼不使用'extern'關鍵字? – 2013-04-29 14:35:25

回答

0

編譯器正在剝離符號。你可以試試__declspecimport。您也可以嘗試extern變量並在另一個項目中創建人工參考。

+0

我已經測試過了,沒關係!非常感謝! – user2304377 2013-04-29 23:03:07