C++ dll針對類中的靜態變量導出,調用時候鏈接提示找不到該符號的錯誤

查了很久,大家都惜字如金,我儘量能讓代碼能運行,新建一個類的dll

頭文件:

#ifdef TEST_STATIC_DLL_EXPORTS
#define TEST_STATIC_DLL_API __declspec(dllexport)
#else
#define TEST_STATIC_DLL_API __declspec(dllimport)
#endif

class TEST_STATIC_DLL_EXPORTS(dllexport) Ctest_static_dll 
{
public:
	Ctest_static_dll(void);
	static int cur_data;                //靜態類變量
};

記得把TEST_STATIC_DLL_EXPORTS放入dll的預編譯定義中去

cpp文件

#include "stdafx.h"
#include "test_static_dll.h"

int Ctest_static_dll::cur_data = 0;    //靜態變量一定要初始化

Ctest_static_dll::Ctest_static_dll()
{
	return;
}

實現對類dll的調用,把dll,lib等等都配置好,沒什麼可說的

#include "stdafx.h"
#include "test_static_dll.h"

int _tmain(int argc, _TCHAR* argv[])
{
	Ctest_static_dll test_dll;
	int a = Ctest_static_dll::cur_data;                    //調用靜態變量
	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章