Под Windows MinGW работа с иконками и ресурсами имеют нюансы. Это и будем разбирать
Согласно документации, "Все платформы wxWidgets поддерживают XPM для небольших растровых изображений и значков. Вы можете включить встроенный XPM, как показано ниже, так как это код C, или вы можете загрузить его во время выполнения."
Для этого достаточно подключить #include "sample.xpm"
И выполнить макрос wxIcon icon(wxICON(sample));
Этот макрос заменяет такой код
Ну и для подключения к фрейму нужно выполнить SetIcon(icon).
Но по факту такой подход у меня не работал ни в какую. Что бы я не делал. Поэтому есть 2 более надежных варианта.
Самый простой способ подключить Иконку к фрейму приложения это Подключить .ico файл как внешний файл
У данного способа есть недостаток. Придеться скидывать все иконки и другие файлы в папку с исполняемым файлом. Что в итоге может засорить программу. И поэтому можно внедрить файлы через ресурсы
Для того чтобы создать файл ресурсов - самы простой способ это подключить его через header , тоесть создаем 2 файла:
icon_file - это некая переменная которую можно будет использовать вместо пути к внешнему файлу.
Для этого мы подключим файл ресурсов к нашему коду #include "resource.h"
Дале подключаем через макрос - Еще раз напомню WxIcon() - Это класс, а WxICON() - это макрос - Не путаем
Таким образом, мы можем подгружать и другие файлы.. Но это уже совсем другая тема.