Использовать будем mingw-cross-env, да к стати из портов можно установить mercurial, чтоб установить последнюю версию mingw-cross-env для этого запускаем:
hg clone http://hg.savannah.nongnu.org/hgweb/mingw-cross-env
Чтоб добыть обновления, запускаем:
hg pull -u
В общем после установки wxwidgets, т.е. после выполнения команд:
cd mingw-cross-env
gmake wxwidgets
В директории с кодом простого wxWidgets приложения выполним:
i686-pc-mingw32-g++ minimal.cpp -o minimal.exe `i686-pc-mingw32-wx-config --cxxflags --libs`
В текущей директории появляется minimal.exe, правда его размер несколько впечатляет почти 7 Мбайт. Можно его уменьшить командой:
i686-pc-mingw32-strip minimal.exe
Почти в два раза.
wine minimal.exe
При записке minimal.exe под Windows 98 , а также wine, при условии, что там в настройках (команда winecfg) стоит Windows 98, может вылести сообщение "wxWidgets Fatal Error\n This program uses Unicode and requires Windows NT/2000/XP ...". Ничего страшного, можно просто перекомпилировать minimal.cpp без поддержки Unicode.
i686-pc-mingw32-g++ minimal.cpp -o minimal.exe `i686-pc-mingw32-wx-config -nounicode --cxxflags --libs`
Об опциях i686-pc-mingw32-wx-config можно узнать командой:
i686-pc-mingw32-wx-config
правда не все опции могут в действительности дать желаемый эффект, например, думал, что опция --release уменьшит размер файла за счет исключения отладочной информации, ну да ладно, strip есть.