Re: error C2065: 'ImageList_Read' : undeclared identifier
Mixing MFC and WTL is generally not a good idea. Any chance
of jettisoning MFC?
Whatever the issue, it most likely has to do with some compatibility
stuff in afxcmn.h wrecking havoc with the subsequent inclusion of
commctrl.h. I know very little about MFC to be of help here. You
may want to post this in the MFC group as well:
microsoft.public.vc.mfc
--
=====================================
Alexander Nickolov
Microsoft MVP [VC], MCSD
email: agnickolov@mvps.org
MVP VC FAQ: http://vcfaq.mvps.org
=====================================
"ColinG" <csg@mine.com> wrote in message
news:er4GtXZjHHA.4516@TK2MSFTNGP03.phx.gbl...
Hi,
I receive the following error messages when compiling a VC6 MFC project
which includes a header (CSG.h) for a ATL/WTL Static Library:
Deleting intermediate files and output files for project 'TestMFC - Win32
Debug'.
--------------------Configuration: TestMFC - Win32
Debug--------------------
Compiling resources...
Compiling...
StdAfx.cpp
Define WS_EX_LAYERED...
Define LWA_ALPHA...
Include atlbase.h...
Include atlapp.h...
Define _Module as external linkage...
Include atlwin.h...
Include atlmisc.h...
Include atlctrls.h....
c:\wtl71\include\atlctrls.h(1832) : error C2065: 'ImageList_Read' :
undeclared identifier
c:\wtl71\include\atlctrls.h(1832) : error C2440: '=' : cannot convert from
'int' to 'struct _IMAGELIST *'
Conversion from integral type to pointer type requires
reinterpret_cast, C-style cast or function-style cast
c:\wtl71\include\atlctrls.h(1943) : error C2065: 'ImageList_Write' :
undeclared identifier
Include atlframe.h...
Include atldlgs.h...
Include atlprint.h...
Include atlctrlx.h...
Error executing cl.exe.
Creating browse info file...
BSCMAKE: error BK1506 : cannot open file '.\Debug\MainFrm.sbr': No such
file
or directory
Error executing bscmake.exe.
TestMFC.exe - 4 error(s), 0 warning(s)
The content of StdAfx.h is as follows:
// stdafx.h : include file for standard system include files,
// or project specific include files that are used frequently, but
// are changed infrequently
//
#if
!defined(AFX_STDAFX_H__43D1D305_5B56_42E6_8167_B0AC743B622B__INCLUDED_)
#define AFX_STDAFX_H__43D1D305_5B56_42E6_8167_B0AC743B622B__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define WINVER 0x0400
#define _WIN32_IE 0x0400
#define _WIN32_WINNT 0x0400
#include <afxwin.h> // MFC core and standard components
#include <afxext.h> // MFC extensions
#include <afxdisp.h> // MFC Automation classes
#include <afxdtctl.h> // MFC support for Internet Explorer 4 Common
Controls
#ifndef _AFX_NO_AFXCMN_SUPPORT
#include <afxcmn.h> // MFC support for Windows Common Controls
#endif // _AFX_NO_AFXCMN_SUPPORT
#include <OBJIDL.H>
#include <commctrl.h>
#include <Winspool.h>
#include "CSG.h"
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately
before the previous line.
#endif //
!defined(AFX_STDAFX_H__43D1D305_5B56_42E6_8167_B0AC743B622B__INCLUDED_)
Content of CSG.h is as follows:
#pragma once
#ifdef WS_EX_LAYERED
#undef WS_EX_LAYERED
#endif
#define WS_EX_LAYERED 0x00080000
#ifdef LWA_ALPHA
#undef LWA_ALPHA
#endif
#define LWA_ALPHA 0x00000002
#include <atlbase.h>
#include <atlapp.h>
extern CAppModule _Module;
#include <atlwin.h>
#include <atlmisc.h>
#include <atlctrls.h>
#include <atlframe.h>
#include <atldlgs.h>
#include <atlprint.h>
#include <atlctrlx.h>
#include <TCHAR.h>
#include <vector>
#include <deque>
#include <map>
#include <algorithm>
#include <string>
#include <fstream>
using namespace std;
#define EMPTY_STRING _T("")
#define MAX_STRING_LEN 24
#define PINK RGB(255,204,204)
#define GREEN RGB(204,255,204)
#define BLUE RGB(153,204,255)
#define YELLOW RGB(255,255,204)
#define WHITE RGB(255,255,255)
#define BLACK RGB( 0, 0, 0)
#define GREY RGB(125,125,125)
I am using VC6 via Windows XP. Any assistance would be appreciated.
Thanks.
Colin