查看完整版本: 为啥会无法 include 头文件?

hunter1085 2006-4-13 21:52

为啥会无法 include 头文件?

小弟初学VC++,有幸从贵网站获得一些源代码,但是编译后出错,错误原因是无法打开头文件,恳请高手帮忙指点迷津:
源头文件是:
#ifndef __DIB_H__
#define __DIB_H__
#include <wingdi.h>
class CDib
{
&iexcl;&iexcl;public:
&iexcl;&iexcl;&iexcl;&iexcl;CDib();
&iexcl;&iexcl;&iexcl;&iexcl;~CDib();

&iexcl;&iexcl;&iexcl;&iexcl;BOOL Load( const char * );
&iexcl;&iexcl;&iexcl;&iexcl;BOOL Save( const char * );
&iexcl;&iexcl;&iexcl;&iexcl;BOOL Draw( CDC *, int nX = 0, int nY = 0, int nWidth = -1, int nHeight = -1, int mode = SRCCOPY);
&iexcl;&iexcl;&iexcl;&iexcl;BOOL SetPalette( CDC * );

&iexcl;&iexcl;private:
&iexcl;&iexcl;&iexcl;&iexcl;CPalette m_Palette;
&iexcl;&iexcl;&iexcl;&iexcl;unsigned char *m_pDib, *m_pDibBits;
&iexcl;&iexcl;&iexcl;&iexcl;DWORD m_dwDibSize;
&iexcl;&iexcl;&iexcl;&iexcl;BITMAPINFOHEADER *m_pBIH;
&iexcl;&iexcl;&iexcl;&iexcl;RGBQUAD *m_pPalette;
&iexcl;&iexcl;&iexcl;&iexcl;int m_nPaletteEntries;
};
#endif
源cpp文件是:
#include "stdafx.h"
#include "Dib.h"

CDib::CDib()
{
&iexcl;&iexcl;m_pDib = NULL;
}

CDib::~CDib()
{
&iexcl;&iexcl;// &Egrave;&ccedil;&sup1;&ucirc;&Icirc;&raquo;&Iacute;&frac14;&Ograve;&Ntilde;&frac34;&shy;±&raquo;&frac14;&Oacute;&Ocirc;&Oslash;&pound;&not;&Ecirc;&Iacute;·&Aring;&Auml;&Uacute;&acute;&aelig;
&iexcl;&iexcl;if (m_pDib != NULL)
&iexcl;&iexcl;&iexcl;&iexcl;delete []m_pDib;
}
BOOL CDib::Load(const char *pszFilename)
{
&iexcl;&iexcl;CFile cf;

&iexcl;&iexcl;// &acute;ò&iquest;&ordf;&Icirc;&raquo;&Iacute;&frac14;&Icirc;&Auml;&frac14;&thorn;
&iexcl;&iexcl;if (!cf.Open(pszFilename, CFile::modeRead))
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);

&iexcl;&iexcl;// &raquo;&ntilde;&micro;&Atilde;&Icirc;&raquo;&Iacute;&frac14;&Icirc;&Auml;&frac14;&thorn;&acute;ó&ETH;&iexcl;&pound;&not;&sup2;&cent;&frac14;&otilde;&Egrave;&yen;BITMAPFILEHEADER&micro;&Auml;&sup3;¤&para;&Egrave;
&iexcl;&iexcl;DWORD dwDibSize;
&iexcl;&iexcl;dwDibSize = cf.GetLength() - sizeof(BITMAPFILEHEADER);

&iexcl;&iexcl;// &Icirc;&ordf;DIB&Icirc;&raquo;&Iacute;&frac14;·&Ouml;&Aring;&auml;&Auml;&Uacute;&acute;&aelig;
&iexcl;&iexcl;unsigned char *pDib;
&iexcl;&iexcl;pDib = new unsigned char[dwDibSize];
&iexcl;&iexcl;if (pDib == NULL)
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);

&iexcl;&iexcl;BITMAPFILEHEADER BFH;

&iexcl;&iexcl;// &para;&Aacute;&Egrave;&iexcl;&Icirc;&raquo;&Iacute;&frac14;&Icirc;&Auml;&frac14;&thorn;&Ecirc;&yacute;&frac34;&Yacute;
&iexcl;&iexcl;try
&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;// &Icirc;&Auml;&frac14;&thorn;&cedil;&ntilde;&Ecirc;&frac12;&Ecirc;&Ccedil;·&ntilde;&Otilde;&yacute;&Egrave;·&Oacute;&ETH;&ETH;§
&iexcl;&iexcl;&iexcl;&iexcl;if ( cf.Read(&BFH, sizeof(BITMAPFILEHEADER)) != sizeof(BITMAPFILEHEADER) ||
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;BFH.bfType != &iexcl;&macr;MB&iexcl;&macr; || cf.Read(pDib, dwDibSize) != dwDibSize)
&iexcl;&iexcl;&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;delete []pDib;
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);
&iexcl;&iexcl;&iexcl;&iexcl;}
&iexcl;&iexcl;}
&iexcl;&iexcl;catch (CFileException *e)
&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;e->Delete();
&iexcl;&iexcl;&iexcl;&iexcl;delete []pDib;
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);
&iexcl;&iexcl;}

&iexcl;&iexcl;// delete&Iuml;&Egrave;&Ccedil;°&frac14;&Oacute;&Ocirc;&Oslash;&micro;&Auml;&Icirc;&raquo;&Iacute;&frac14;
&iexcl;&iexcl;if (m_pDib != NULL)
&iexcl;&iexcl;&iexcl;&iexcl;delete m_pDib;

&iexcl;&iexcl;// &frac12;&laquo;&Aacute;&Ugrave;&Ecirc;±Dib&Ecirc;&yacute;&frac34;&Yacute;&Ouml;&cedil;&Otilde;&euml;&ordm;&Iacute;Dib&acute;ó&ETH;&iexcl;±&auml;&Aacute;&iquest;&cedil;&sup3;&cedil;&oslash;&Agrave;à&sup3;&Eacute;&Ocirc;±±&auml;&Aacute;&iquest;
&iexcl;&iexcl;m_pDib = pDib;
&iexcl;&iexcl;m_dwDibSize = dwDibSize;

&iexcl;&iexcl;// &Icirc;&ordf;&Iuml;à&Oacute;&brvbar;&Agrave;à&sup3;&Eacute;&Ocirc;±±&auml;&Aacute;&iquest;&cedil;&sup3;BITMAPINFOHEADER&ordm;&Iacute;&micro;÷&Eacute;&laquo;°&aring;&Ouml;&cedil;&Otilde;&euml;
&iexcl;&iexcl;m_pBIH = (BITMAPINFOHEADER*)m_pDib;
&iexcl;&iexcl;m_pPalette = (RGBQUAD*) &m_pDib[sizeof(BITMAPINFOHEADER)];

&iexcl;&iexcl;// &frac14;&AElig;&Euml;&atilde;&micro;÷&Eacute;&laquo;°&aring;&Ouml;&ETH;&Ecirc;&micro;&frac14;&Ecirc;&Ntilde;&Otilde;&Eacute;&laquo;&Ecirc;&yacute;&Aacute;&iquest;
&iexcl;&iexcl;m_nPaletteEntries = 1 << m_pBIH->biBitCount;
&iexcl;&iexcl;if (m_pBIH->biBitCount > 8)
&iexcl;&iexcl;&iexcl;&iexcl;m_nPaletteEntries = 0;
&iexcl;&iexcl;else if (m_pBIH->biClrUsed != 0)
&iexcl;&iexcl;&iexcl;&iexcl;m_nPaletteEntries = m_pBIH->biClrUsed;

&iexcl;&iexcl;// &Icirc;&ordf;&Iuml;à&Oacute;&brvbar;&Agrave;à&sup3;&Eacute;&Ocirc;±±&auml;&Aacute;&iquest;&cedil;&sup3;image data&Ouml;&cedil;&Otilde;&euml;
&iexcl;&iexcl;m_pDibBits = &m_pDib[sizeof(BITMAPINFOHEADER) + m_nPaletteEntries * sizeof (RGBQUAD)];

&iexcl;&iexcl;// delete&Iuml;&Egrave;&Ccedil;°&micro;&Auml;&micro;÷&Eacute;&laquo;°&aring;
&iexcl;&iexcl;if (m_Palette.GetSafeHandle() != NULL)
&iexcl;&iexcl;&iexcl;&iexcl;m_Palette.DeleteObject();

&iexcl;&iexcl;// &Egrave;&ccedil;&sup1;&ucirc;&Icirc;&raquo;&Iacute;&frac14;&Ouml;&ETH;&acute;&aelig;&Ocirc;&Uacute;&micro;÷&Eacute;&laquo;°&aring;&pound;&not;&acute;&acute;&frac12;¨LOGPALETTE &frac14;°CPalette
&iexcl;&iexcl;if (m_nPaletteEntries != 0)
&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;LOGPALETTE *pLogPal = (LOGPALETTE*)new char[sizeof(LOGPALETTE) + m_nPaletteEntries *sizeof(PALETTEENTRY)];

&iexcl;&iexcl;&iexcl;&iexcl;if (pLogPal != NULL)
&iexcl;&iexcl;&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;pLogPal->palVersion = 0x300;
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;pLogPal->palNumEntries = m_nPaletteEntries;

&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;for (int i = 0; i < m_nPaletteEntries; i++)
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;pLogPal->palPalEntry[i].peRed = m_pPalette[i].rgbRed;
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;pLogPal->palPalEntry[i].peGreen = m_pPalette[i].rgbGreen;
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;pLogPal->palPalEntry[i].peBlue = m_pPalette[i].rgbBlue;
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;}

&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;//&acute;&acute;&frac12;¨CPalette&sup2;&cent;&Ecirc;&Iacute;·&Aring;LOGPALETTE&micro;&Auml;&Auml;&Uacute;&acute;&aelig;
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;m_Palette.CreatePalette(pLogPal);
&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;&iexcl;delete []pLogPal;
&iexcl;&iexcl;&iexcl;&iexcl;}
&iexcl;&iexcl;}

&iexcl;&iexcl;return (TRUE);
}

//&ordm;&macr;&Ecirc;&yacute;&sup1;&brvbar;&Auml;&Uuml;&pound;&ordm;±&pound;&acute;&aelig;&Icirc;&raquo;&Iacute;&frac14;&Egrave;&euml;BMP&Icirc;&Auml;&frac14;&thorn;
BOOL CDib::Save(const char *pszFilename)
{
&iexcl;&iexcl;if (m_pDib == NULL)
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);

&iexcl;&iexcl;CFile cf;
&iexcl;&iexcl;if (!cf.Open(pszFilename, CFile::modeCreate | CFile::modeWrite))
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);

&iexcl;&iexcl;try
&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;BITMAPFILEHEADER BFH;
&iexcl;&iexcl;&iexcl;&iexcl;memset(&BFH, 0, sizeof(BITMAPFILEHEADER));
&iexcl;&iexcl;&iexcl;&iexcl;BFH.bfType = &iexcl;&macr;MB&iexcl;&macr;;
&iexcl;&iexcl;&iexcl;&iexcl;BFH.bfSize = sizeof(BITMAPFILEHEADER) + m_dwDibSize;
&iexcl;&iexcl;&iexcl;&iexcl;BFH.bfOffBits = sizeof(BITMAPFILEHEADER) +
sizeof(BITMAPINFOHEADER) + m_nPaletteEntries *sizeof(RGBQUAD);

&iexcl;&iexcl;&iexcl;&iexcl;cf.Write(&BFH, sizeof(BITMAPFILEHEADER));
&iexcl;&iexcl;&iexcl;&iexcl;cf.Write(m_pDib, m_dwDibSize);
&iexcl;&iexcl;}
&iexcl;&iexcl;catch (CFileException *e)
&iexcl;&iexcl;{
&iexcl;&iexcl;&iexcl;&iexcl;e->Delete();
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);
&iexcl;&iexcl;}
&iexcl;&iexcl;return (TRUE);
}

BOOL CDib::Draw(CDC *pDC, int nX, int nY, int nWidth, int nHeight, int mode)
{
&iexcl;&iexcl;if (m_pDib == NULL)
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);

&iexcl;&iexcl;// &raquo;&ntilde;&Egrave;&iexcl;&Icirc;&raquo;&Iacute;&frac14;&iquest;í&para;&Egrave;&ordm;&Iacute;&cedil;&szlig;&para;&Egrave;&cedil;&sup3;&Ouml;&micro;
&iexcl;&iexcl;if (nWidth == - 1)
&iexcl;&iexcl;&iexcl;&iexcl;nWidth = m_pBIH->biWidth;
&iexcl;&iexcl;if (nHeight == - 1)
&iexcl;&iexcl;&iexcl;&iexcl;nHeight = m_pBIH->biHeight;

&iexcl;&iexcl;// &raquo;&aelig;&Ouml;&AElig;&Icirc;&raquo;&Iacute;&frac14;
&iexcl;&iexcl;StretchDIBits(pDC->m_hDC, nX, nY, nWidth, nHeight, 0, 0, m_pBIH->biWidth, m_pBIH->biHeight, m_pDibBits, (BITMAPINFO*)m_pBIH, BI_RGB, mode);

&iexcl;&iexcl;return (TRUE);
}

BOOL CDib::SetPalette(CDC *pDC)
{
&iexcl;&iexcl;if (m_pDib == NULL)
&iexcl;&iexcl;&iexcl;&iexcl;return (FALSE);

&iexcl;&iexcl;// &frac14;ì&sup2;é&micro;±&Ccedil;°&Ecirc;&Ccedil;·&ntilde;&Oacute;&ETH;&Ograve;&raquo;&cedil;&ouml;&micro;÷&Eacute;&laquo;°&aring;&frac34;&auml;±ú&pound;&not;&para;&Ocirc;&Oacute;&Uacute;&acute;ó&Oacute;&Uacute;256&Eacute;&laquo;&micro;&Auml;&Icirc;&raquo;&Iacute;&frac14;&pound;&not;&Icirc;&ordf;NULL
&iexcl;&iexcl;if (m_Palette.GetSafeHandle() == NULL)
&iexcl;&iexcl;&iexcl;&iexcl;return (TRUE);

&iexcl;&iexcl;// &Ntilde;&iexcl;&Ocirc;&ntilde;&micro;÷&Eacute;&laquo;°&aring;&pound;&not;&frac12;&Oacute;×&Aring;&Ecirc;&micro;&Ecirc;&copy;&Ouml;&reg;&pound;&not;×&icirc;&ordm;ó&raquo;&Ouml;&cedil;&acute;&Agrave;&Iuml;&micro;&Auml;&micro;÷&Eacute;&laquo;°&aring;
&iexcl;&iexcl;CPalette *pOldPalette;
&iexcl;&iexcl;pOldPalette = pDC->SelectPalette(&m_Palette, FALSE);
&iexcl;&iexcl;pDC->RealizePalette();
&iexcl;&iexcl;pDC->SelectPalette(pOldPalette, FALSE);

&iexcl;&iexcl;return (TRUE);
}

Nothing 2006-4-13 23:44

你需要配制你的include的路径,看看有没有这个文件。
别外你的代码是在哪里下载的?什么样的代码。
页: [1]
查看完整版本: 为啥会无法 include 头文件?