私はVS2008 Standard Editionを使用しています。_ATL_DLL_IMPLがATLヘッダーでコンパイルエラーの原因となっています
これはClassesAllowedInStream
が知られていないというエラーが発生します:atlcom.hを含めて、これはコンパイルエラーを与えているライブラリここ
struct ATL_PROPMAP_ENTRY
{
LPCOLESTR szDesc;
DISPID dispid;
const CLSID* pclsidPropPage;
const IID* piidDispatch;
DWORD dwOffsetData;
DWORD dwSizeData;
VARTYPE vt;
#if !defined(_ATL_DLL_IMPL) && !defined(_ATL_DLL)
ClassesAllowedInStream rgclsidAllowed;
DWORD cclsidAllowed;
#endif
};
は、私は「"ATLをエラーが表示されます。 :CComVariant :: ReadFromStream」:関数は「
#if defined(_ATL_DLL_IMPL)
hr = var.ReadFromStream(pStm, pMap[i].vt);
#else
hr = var.ReadFromStream(pStm, pMap[i].vt, pMap[i].rgclsidAllowed, pMap[i].cclsidAllowed);
#endif
を4つの引数を取り、関連する宣言を見ていません(atlcomcli.h):\プログラムファイル(x86の)\のMicrosoft Visual Studioの9.0 \ VC \ atlmfc:
HRESULT ReadFromStream(_Inout_ IStream* pStream, VARTYPE vtExpected = VT_EMPTY);
マイMFC/ATLヘッダーは、Cにある私の知る限りではMSVCから標準インストール++、あります。サードパーティ製のライブラリは、多数の人のために働き、十分にテストされているので、私の設定は何らかの方法で責任があると確信しています。それは何らかの理由で_ATL_DLL_IMPL
が定義されていないが、それはする必要がありますか?
アイデア?