-
Bug
-
Resolution: Incomplete
-
P2: Important
-
None
-
Qt Creator 17.0.1
-
None
-
windows
(not tested on mac)
I'm trying to build a plugin for Qt Creator that provides MCP protocol via TCP (json) and HTTP.
TCP works because it can be supported directly but to create an HTTP server, the plugin must link to QtHTTPServer.dll. But it can't.
The Qt Creator i'm building against is 17.0.1 rev 21b0de15fc which links against Qt 6.9.2. My Project also is built against 6.9.2.
✅ What Works
- TCP-only MCP server: Fully functional, loads correctly, responds to MCP protocol
- Plugin loading: Works perfectly without HttpServer dependency
- Build system: All build and installation processes work correctly
❌ What Doesn't Work
- HttpServer dependency: Prevents plugin from loading entirely, regardless of approach:
- ❌ Dynamic linking with DLL copying
- ❌ windeployqt deployment
- ❌ Static linking (Qt6_USE_STATIC_LIBS TRUE)
- ❌ Relative path configuration (ie: link against the lib files that Qt Creator itself has in the .exe folder)
- ❌ Manual DLL staging
🔍 Root Cause Analysis
Based on web research and extensive testing, this is a fundamental incompatibility between:
- Qt Creator's plugin loading mechanism - Very strict about Qt module versions
- HttpServer module dependencies - Complex dependency chain that conflicts with Qt Creator's Qt version
💡 Conclusion
The HttpServer module is incompatible with Qt Creator plugins due to:
- Version mismatch issues between Qt Creator's Qt and system Qt
- Complex dependency chains in HttpServer module
- Qt Creator's strict plugin loading requirements