既存の C++ プロジェクトを 32 ビット バージョンから 64 ビット バージョンに変換しています。このプロジェクトは 32 ビット バージョンで正常にビルドされます。Configuration Manager で x64 プラットフォーム用のビルドに変換した後、以下のビルド エラーが発生します。64 ビット バージョン用に継承する必要がある特定のものはありますか、それとも何か不足していますか。
エラー C2259: 'ATL::CComObject': 抽象クラス C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h をインスタンス化できません
以下は、プロジェクトのビルド中の出力からのエラーです。
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(2000): error C2259: 'ATL::CComObject<Base>' : cannot instantiate abstract class
with
[
Base=NAlertBand
]
due to following members:
'HRESULT IContextMenu::GetCommandString(UINT_PTR,UINT,UINT *,CHAR *,UINT)' : is abstract
C:\Program Files (x86)\Windows Kits\8.0\Include\um\shobjidl.h(2732) : see declaration of 'IContextMenu::GetCommandString'
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(1989) : while compiling class template member function 'HRESULT ATL::CComCreator<T1>::CreateInstance(void *,const IID &,LPVOID *)'
with
[
T1=ATL::CComObject<NAlertBand>
]
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(2096) : see reference to function template instantiation 'HRESULT ATL::CComCreator<T1>::CreateInstance(void *,const IID &,LPVOID *)' being compiled
with
[
T1=ATL::CComObject<NAlertBand>
]
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(2095) : see reference to class template instantiation 'ATL::CComCreator<T1>' being compiled
with
[
T1=ATL::CComObject<NAlertBand>
]
C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\atlmfc\include\atlcom.h(2091) : while compiling class template member function 'HRESULT ATL::CComCreator2<T1,T2>::CreateInstance(void *,const IID &,LPVOID *)'
with
[
T1=ATL::CComCreator<ATL::CComObject<NAlertBand>>,
T2=ATL::CComFailCreator<-2147221232>
]
NAlerts.cxx(44) : see reference to function template instantiation 'HRESULT ATL::CComCreator2<T1,T2>::CreateInstance(void *,const IID &,LPVOID *)' being compiled
with
[
T1=ATL::CComCreator<ATL::CComObject<NAlertBand>>,
T2=ATL::CComFailCreator<-2147221232>
]
NAlerts.cxx(44) : see reference to class template instantiation 'ATL::CComCreator2<T1,T2>' being compiled
with
[
T1=ATL::CComCreator<ATL::CComObject<NAlertBand>>,
T2=ATL::CComFailCreator<-2147221232>
]
QMessage.cxx
ありがとう