Код: Выделить всё
#ifdef CFGA
IDI_ICON ICON IconA.ico
#elif defined(CFGB)
IDI_ICON ICON IconB.ico
#elif defined(CFGC)
IDI_ICON ICON IconC.ico
#elif defined(CFGD)
IDI_ICON ICON IconD.ico
#elif defined(CFGE)
IDI_ICON ICON IconE.ico
#else
IDI_ICON ICON IconA.ico
#endif
CFGA — получает IconC
CFGB — получает IconA
CFGC — получает IconA
CFGD — получает IconC
CFGE — получает значок Windows EXE по умолчанию.
Я просмотрел весь проект в поисках ссылок на значки и не увидел ничего странного. В файле DSP есть раздел, определяющий исходные файлы. Он определял только IconA, но остальные значки я добавил вручную без каких-либо изменений в поведении. Файл vcxproj.filters также имеет имя IconA, но остальное я добавил без изменений. Я даже пытался изменить порядок в файле, но безрезультатно.
В файле .rc вообще не определены значки.
Когда я прокомментировал вынул все, кроме определения IconC в файле rc2, затем закрыл и перезагрузил проект. Значок, который отображается в представлении ресурсов, является правильным, однако при компиляции EXE-файлу назначается значок IconA.
Это сводит меня с ума уже два дня, и я не нашел, где кто-нибудь еще сталкивался с этим. Есть ли решение этой проблемы?
Подробнее здесь: https://stackoverflow.com/questions/792 ... ns-correct