Hi all,
Following up on the previous announcements Qt 6 for C & Zig and Online Documentation for Qt 6, KDE Frameworks, etc. for C & Zig, this is another small update to highlight some important changes.
Both libraries now feature an exported convenience function in the build system. Developers who opt in gain a simpler and maintained path to cross-platform support for platforms supported by the library. Over time, the implementation scope can be increased, ideally without forcing breaking changes. The basic use case copied from the updated documentation:
// Use the library-provided convenience method to configure much of the exe
const configureQtExeRootModule = @import("libqt6").configureQtExeRootModule;
try configureQtExeRootModule(b, exe, .{});This follows up on the work done to support the GNU C++ ABI on Linux that was implemented late last year. That paved the way for many of the improvements and functionality additions that have landed since.
One other major change was done to the Zig library specifically in order to support dot-call syntax. This has been well-received among consumers and the API should be mostly stabilized at this point.
For all of the above, if there are any questions, the examples and demo repositories for each respective library should be consulted in addition to the various forms of documentation.
The work preceding community contributions still needs to be done but that should not be an impediment for consumption as I feel strongly that these libraries are ready for use and hope to have several personal projects publicly available at some point.
One smaller challenge has been deciding how to properly surface the contents of the now vast examples. While the code alone can be instructive, the examples still surface only an introductory amount of each library's full capabilities. As a sort of middle ground, in the related examples repository for each library, there is now a single overview document that contains centralized screenshots and/or links to the respective underlying example:
-
https://github.com/rcalixte/libqt6c-examples/blob/master/OVERVIEW.md
-
https://github.com/rcalixte/libqt6zig-examples/blob/master/OVERVIEW.md
Stay "cute" and happy hacking. :-)