Здравствуйте, Шорр Кан, Вы писали:
ШК>1. Создано простое приложение. Без всего, пустое окно. Пока ресурсы не вставлены — естественно, компилятор говорит правильно:
ШК>error C2065: 'IDR_MAINFRAME' : undeclared identifier
ШК>2. Теперь создаю.rс . Он его включает в source-файлы. Я делаю insert иконки, и рисую ее. Сохраняю.
ШК>3. ID иконки задан не тот. Меняю ID на 'IDR_MAINFRAME'.
ШК> И он все равно пишет:
ШК>error C2065: 'IDR_MAINFRAME' : undeclared identifier
Откуда ты предлагаешь знать C++ компилятору, что такое 'IDR_MAINFRAME'?
Этот идентификатор должен быть где-то объявлен.
Традиционно (в проектах, которые генерит визард) подобные идентификаторы объявляются в resourse.h
примерно так:
#define IDR_MAINFRAME 15
После чего, этот resourse.h включается и в .rc файл и в твой .cpp файл (или в StdAfx.h)
примерно так:
#include "resource.h
после чего всё работает.
Попробуй сгенерить визардом проект и посмотри, что и куда он включит, что и где объявит.
Правда есть ещё зарезервированные идентификаторы (для кнопок OK, Cancel и т.п.), они объявляются где-то в виндовых заголовках, хотя тут я могу ошибаться. IDR_MAINFRAME случайно к ним не относится?