1
我在headerfile XH定義的一類DLL-1,其是導出一個靜態函數
class A{
public:
static int val;
__declspec(dllexport) static void setval(int v) {val = v;}
};
和x.cpp具有
int A::val = 256;
現在我建立了dll-1並通過它,但其他DLL鏈接此DLL未能建立與錯誤未解決的外部符號public:static int A :: val。當我在x.cpp中定義導出的函數時,這已經解決了。但我不明白爲什麼它壞了。謝謝。
[導出DLL中的靜態數據]的可能的重複(http://stackoverflow.com/questions/2479784/exporting-static-data-in-a-dll) –
你得到了[編譯器警告(級別1) C4251(http://msdn.microsoft.com/en-us/library/esew7y1w.aspx)?該頁面非常明顯地提到_'所有的靜態數據都是通過從DLL'_導出的函數進行訪問的。將來,你會希望[包括編譯器錯誤(就像我之前提到的,順便說一下)](http://chat.stackoverflow.com/transcript/10?m=5507868#5507868) 。 –
sehe