<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[ClassBuilder 3.0 — a 25-year-old MFC code generator, now all-Qt on Windows, macOS and Linux]]></title><description><![CDATA[<p dir="auto">ClassBuilder is a C++ code-generation tool: you define an object model in the GUI — classes, members, methods, relations, inheritance, class and sequence diagrams — and it writes the .h/.cpp. It is self-hosted; the model that generates its own source ships in the repo.</p>
<p dir="auto">It was a Windows-only MFC application from 2002 until this year. The port to Qt 6 is now complete: MFC is entirely gone, and one source tree builds on all three platforms, with #ifdef _WIN32 / #else branches confined to a single platform seam (CbPlatformCompat).</p>
<p dir="auto">Notes that may be useful to others porting something similar:</p>
<p dir="auto">Qt 6 forces UNICODE/_UNICODE on anything linking it, while the model is a MultiByte build calling the ANSI Win32 API. Solved by quarantining the Qt code in a static lib that links Qt PRIVATE, and re-stripping the defines on the executable with /UUNICODE /U_UNICODE.<br />
The Win32 named-pipe command server became a QTcpServer on loopback — same JSON protocol on all three platforms.<br />
Two dock bugs in 6.11.1 needed upstream backports (QTBUG-147209 and the group-dissolution crash); patches and write-ups are in the repo under crossplatform/qt-patches/.<br />
GroupedDragging is disabled on all platforms: forming a floating tab group could still be driven into a QMainWindowLayout::animationFinished use-after-free even with both patches applied.<br />
Static Qt on all three, so it ships as a single self-contained binary. Installers for Windows, macOS and Linux: <a href="https://github.com/xaljox/ClassBuilder" target="_blank" rel="noopener noreferrer nofollow ugc">https://github.com/xaljox/ClassBuilder</a></p>
]]></description><link>https://forum.qt.io/topic/165034/classbuilder-3.0-a-25-year-old-mfc-code-generator-now-all-qt-on-windows-macos-and-linux</link><generator>RSS for Node</generator><lastBuildDate>Mon, 28 Sep 2026 10:10:09 GMT</lastBuildDate><atom:link href="https://forum.qt.io/topic/165034.rss" rel="self" type="application/rss+xml"/><pubDate>Mon, 24 Aug 2026 14:01:43 GMT</pubDate><ttl>60</ttl></channel></rss>