Сколько стоит "много места", о котором вы говорите?
resource.h
используется для #define
-констант, определяющих ресурсы, например, это просто цифры. Они не должны быть фактором в размере исполняемого файла.
В качестве размера исполняемого файла учитываются ресурсы, которые вы встраиваете в исполняемый файл, указанный в файле * .rc. icon.ico занимает место в * .exe, потому что компилятор встраивает двоичный файл значка в сам исполняемый файл. Этот значок указан в файле * .rc, который должен находиться где-то в вашем проекте.
Вы можете удалить значок из файла * .rc и сохранить его отдельно от файла * .exe, но проще просто вставить его в исполняемый файл. В конце концов, информация для определения меню, значков, диалогов и т. Д. Должна храниться где-то.
Редактировать: Вы можете иметь несколько файлов ресурсов, поэтому Visual Studio не перезаписывает ваши директивы. Обратитесь к http://msdn.microsoft.com/en-us/library/6t3612sk(v=VS.80).aspx, чтобы увидеть, как Visual Studio обрабатывает несколько файлов ресурсов. Раздел " Использование нескольких файлов ресурсов в одном проекте ", по-видимому, имеет отношение к вашей проблеме.