wxWidgets is a cross-platform C++ framework for writing native GUI applications across Windows, macOS, and Linux using native controls.
The framework solves the problem of building desktop applications that look and behave natively on multiple operating systems without rewriting code for each platform. It abstracts platform differences in both GUI rendering and non-GUI aspects, allowing developers to write once and deploy across Windows, GTK-based Unix variants, and macOS Cocoa. The library provides native-looking controls rather than emulated or themed widgets, ensuring applications integrate seamlessly with each platform's visual language.
Developers should choose wxWidgets for projects requiring true native appearance and behavior across desktop platforms, particularly when targeting Windows, Linux, and macOS simultaneously. The framework suits applications where platform integration matters and where developers prefer C++ with direct control over application behavior. The library comes with extensive documentation, more than a hundred examples, and full source code that is easy to read and modify. It supports modern C++ compilers including Visual C++ 2015 and later, g++ 4.8 and later, and Clang up to version 19, though developers requiring C++98 support or Windows XP compatibility should use the 3.2 branch. The licensing model explicitly permits static linking without requiring source distribution, making it suitable for both open source and commercial applications.
The project maintains active community support through mailing lists, discussion forums, IRC channels, and Stack Overflow, with commercial support also available. Contributions are welcomed across code, documentation, and translations, with clear submission guidelines provided. Platform-specific build documentation is organized by port, with separate instructions for wxGTK, wxMSW, and wxOSX, and additional guidance is available for building from Git sources.