2014-02-23 12 views
0

,이 프로젝트를 컴파일 할 때 내 클래스의 pFuncs 멤버에 외부 LNK 2,001 해결되지 않은 :LNK 2001 NPPluginFuncs 구조체 PTR 정적 클래스 멤버에 대한 외부 해결되지 않은 내가 오류를 내 VS2010의 DLL 프로젝트에서

class Foo 
{ 
    // ... 
    static NPPluginFuncs * pFuncs; 
    // ... 
}; 

을 여기를 구조체, npfunctions.h에 정의 된 다음 typedef struct { };에 선언 된 구조체 (또는 클래스)의

typedef struct _NPPluginFuncs { 
    uint16_t size; 
    uint16_t version; 
    NPP_NewProcPtr newp; 
    NPP_DestroyProcPtr destroy; 
    NPP_SetWindowProcPtr setwindow; 
    NPP_NewStreamProcPtr newstream; 
    NPP_DestroyStreamProcPtr destroystream; 
    NPP_StreamAsFileProcPtr asfile; 
    NPP_WriteReadyProcPtr writeready; 
    NPP_WriteProcPtr write; 
    NPP_PrintProcPtr print; 
    NPP_HandleEventProcPtr event; 
    NPP_URLNotifyProcPtr urlnotify; 
    void* javaClass; 
    NPP_GetValueProcPtr getvalue; 
    NPP_SetValueProcPtr setvalue; 
    NPP_GotFocusPtr gotfocus; 
    NPP_LostFocusPtr lostfocus; 
    NPP_URLRedirectNotifyPtr urlredirectnotify; 
    NPP_ClearSiteDataPtr clearsitedata; 
    NPP_GetSitesWithDataPtr getsiteswithdata; 
    NPP_DidCompositePtr didComposite; 
} NPPluginFuncs; 

답변

2

정적 멤버 명시 적으로 한 번 정의 할 필요가있다 :

#include "npfunctions.h" 

Foo::pFuncs = NULL; // optional initialization 


int main() 
{ 
    Foo::pFuncs = new NPPluginFuncs; 
}