오류 LNK2001 : 확인되지 않은 외부 기호 CATID_AppContainerCompatible
에 따라 APPcontainer.Now와 BHO를 등록하려고
는, 나는 DLLRegister
DEFINE_GUID(CATID_AppContainerCompatible, 0x59fb2056,0xd625,0x48d0,0xa9,0x44,0x1a,0x85,0xb5,0xab,0x26,0x40);
STDAPI DllRegisterServer(void)
{
// let ATL handle this
HRESULT hr = _AtlModule.DllRegisterServer();
ICatRegister* pcr = NULL ;
hr = CoCreateInstance(CLSID_StdComponentCategoriesMgr, NULL, CLSCTX_INPROC_SERVER, IID_ICatRegister, (void**)&pcr);
if (FAILED(hr))
return hr;
if (SUCCEEDED(hr))
{
// Register this category as being "implemented" by
// the class.
CATID rgcatid[1] ;
rgcatid[0] = CATID_AppContainerCompatible;
hr = pcr->RegisterClassImplCategories(CLSID_ABC, 1, rgcatid);
}
I 시도와 동일한 CPP 파일에 다음과 같은 정의
unresolved external symbol CATID_AppContainerCompatible
이 오는 이유는 확실하지 : 나는 오류가 다음 무엇입니까이 코드를 컴파일합니다. CATID_AppContainerCompatible 정의를 마우스 오른쪽 버튼으로 클릭하여 탐색 할 수 있습니다. 어떤 suggesitons ??
나는이 문제를 해결했다. DEFINE_GUID가 GUID를 extern으로 선언했기 때문에 const GUID CATID_AppContainerCompatible ;
을 내 파일에 넣어야합니다. 그 문을 컴파일 한 후.
의 #include Initguid.h를 대신 guiddef 등의. h. 그것은 INITGUID 매크로가 정의되어 있고 링크 할 수있는 extern 정의를 갖도록합니다. –