Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Visual C++/MFC/WTL > Нужны файлы


Автор: MegaCasper 5.5.2006, 16:10
Народ, тут такое дело. Я в Сях начинающий, делаю уроки для ознакомления. Один урок в принципе элементарный - программа должна открывать (и показывать) *.bmp файл. В описании урока сказано, что к проекту надо подключить файл dib.cpp В найденном мною исходнике есть директива подключения файла dib.h ( #include "dib.h"), который нигде не могу найти. Дайте хоть наводку, где искать. Хотя лучше бы и сам файл ).
 

Автор: cozzzy 5.5.2006, 16:31
На CD-ROM, который идет в комплекте с книжкой  smile  

Автор: MegaCasper 7.5.2006, 00:21
Так ить, нету у меня этого CD-ROMa. Я свои уроки у знакомого скачал. Там прилагается файл dib.cpp, но при компиляции выдаётся сообщение типа: "неожиданный конец файла"- так что имеющийся в наличии исходник не катит, а найденный в нете (см. выше) просит ещё и заголовочный подключить. Вот его и ищу. 

Автор: DeadSoul 7.5.2006, 00:32
Цитата(MegaCasper @  7.5.2006,  00:21 Найти цитируемый пост)
типа: "неожиданный конец файла"- так что имеющийся в наличии исходник не катит, а найденный в нете (см. выше) просит ещё и заголовочный подключить. Вот его и ищу.  

"Unexpected end of file while looking for precompile headers...."
1. Полезно искать причины ошибок в MSDN msdn.microsoft.com
2. Полезно пользоватся поиском по форуму
3. #include "StdAfx.h" первой строкой в твоем cpp-файле должно идти 

Автор: MegaCasper 7.5.2006, 17:14
Блин... "SrdAfx.h" с самого начала на первом месте. Поиск по форуму слов dib.h и dib.cpp ничего не даёт. На слово "dib" куча ссылок, но ссылки на текст (по крайней мере больше я не нашёл ), а мне ФАЙЛ нужен. МСДН конечно попробую, но неужели ни у кого этого файла нет? Как вообще народ *.bmp открывает? Может есть какие другие пути? Если кто знает - напишите пожалуйста (время поджимает). 

Автор: DeadSoul 7.5.2006, 18:12
Тогда ПОЛНЫЙ текст ошибки+место на которое ругается 

Автор: MegaCasper 8.5.2006, 01:33
OK. 
Текст ошибки: "fatal error C1010: unexpected end of file while looking for precompiled header directive".
После двойного щелчка по сообщению об ошибке указатель устанавливается в самый конец исходника, т.е. после последней скобки.
Вот даже кусок моего dib.срр:

// Типа самое начало
/******************************************************************************\
*       This is a part of the Microsoft Source Code Samples. 
*       Copyright © 1993-1997 Microsoft Corporation.
*       All rights reserved. 
*       This source code is only intended as a supplement to 
*       Microsoft Development Tools and/or WinHelp documentation.
*       See these sources for detailed information regarding the 
*       Microsoft samples programs.
\******************************************************************************/

// Пропущено, ибо не влазит.

// Самая последняя функция
VOID WriteMapFileHeaderandConvertFromDwordAlignToPacked(HFILE fh, LPBITMAPFILEHEADER pbf)
{

        /* write bfType*/
  _lwrite(fh, (LPSTR)&pbf->bfType, (UINT)sizeof (WORD));
     /* now pass over extra word, and only write next 3 DWORDS!*/
    _lwrite(fh, (LPSTR)&pbf->bfSize, sizeof(DWORD) * 3);
}
/*-> тут стоит указатель*/
///////////////////////////////////////////////<-конец исходника



   

Автор: DeadSoul 8.5.2006, 12:45
Код

#include "StdAfx.h"// Добавь эту строку!
/******************************************************************************\
*       This is a part of the Microsoft Source Code Samples. 
///.....
 

Автор: MegaCasper 8.5.2006, 20:32
Нда... Спасибо, выручил. Теперь ошибка не выскакивает. Оказывается всё просто. Какого же х..а они сами эту строчку не вписали?... Весьма вами благодарен! 

Автор: DeadSoul 8.5.2006, 21:52
Я об этом в четвертом посте и писал.

Цитата(MegaCasper @  8.5.2006,  20:32 Найти цитируемый пост)
Какого же х..а они сами эту строчку не вписали?... 

Дело в том, что это строка нужна при включенных Precompile Headers под MS VC++. Это уменьшает время компиляции(что крайне важно для больших проектов). 
Я подозреваю, что данная библиотека делалась под большое число компиляторов и включение StdAfx.h первой строкой привело бы некомпиляемости на других компиляторах 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)