Exporting static member functions
I've succcessfully created a DLL full of classes that I've exported to
use in another DLL. But I have a class that full of static member
functions and the function names arent resolving
When I try to create a new DLL, importing the class definitions, I get
unresolved external errors, but only for the static member functions.
Why is that?
Shouldnt the class be imported when its declared?
Below is the class definitions
devlibrary.h - Included in my stdafx.h for both DLLs
#define DEV_DLL_EXPORT __declspec ( dllexport )
#define DEV_DLL_IMPORT __declspec ( dllimport )
#ifdef _DEVLIBRARY_DLL
#define DEVLIBRARY_CLASS DEV_DLL_EXPORT
#else
#define DEVLIBRARY_CLASS DEV_DLL_IMPORT
#endif
cpstinterface.h
class DEVLIBRARY_CLASS CPSTDriverInterface
{
static short GetCnlVarsCount();
static CCnlVar *GetAllCnlVar(short var_rank);
static CCnlVar *GetAllCnlVar(char *szProtVarName);
}
main.cpp
#include "cpstdriverinterface.h"
{
....
dwNumOfVars = CPSTDriverInterface::GetCnlVarsCount();
....
}
Error
error LNK2001: unresolved external symbol "__declspec(dllimport)
public: static short __stdcall
CPSTDriverInterface::GetCnlVarsCount(void)" (__imp_?
GetCnlVarsCount@CPSTDriverInterface@@SGFXZ)