Knowledge Base

PRB: BSTR Redefinition If SHLOBJ.H Included in MFC Apps

Article ID: 132966

Article Last Modified on 11/15/2006


APPLIES TO


This article was previously published under Q132966

SYMPTOMS

When you include SHLOBJ.H in an MFC application, the following compiler error occurs:
error C2371: 'BSTR' : redefinition

CAUSE

The SDK header file OAIDL.H and the MFC library both define a type BSTR.

RESOLUTION

To work around this problem, add the following definition before including any MFC headers. In an AppWizard-generated application this can be done at the beginning of the STDAFX.H include file:
   #define _AFX_NO_BSTR_SUPPORT
				

Additional query words: MFC BSTR

Keywords: kbprb KB132966