From 8d1861f30380f31e913c22ab9d8ebfc53bbb2b8c Mon Sep 17 00:00:00 2001 From: Lukas Burgholzer Date: Tue, 19 May 2026 23:57:09 +0200 Subject: [PATCH] =?UTF-8?q?=F0=9F=8F=81=20Fix=20dynamic=20loading=20of=20Q?= =?UTF-8?q?DMI=20device=20DLLs=20on=20Windows=20when=20an=20absolute=20pat?= =?UTF-8?q?h=20is=20provided=20(#1720)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ## Description This fixes an oversight in #1694 that broke dynamic QDMI library loading on Windows and was discovered in https://github.com/iqm-finland/QDMI-on-IQM/pull/63 If an absolute path is provided, the implementation now falls back to the previously-working one that used the simpler `LoadLibraryW` for loading the DLL. I'll to a test run of this PR in the QDMI-on-IQM repo before we merge and release. AI (Claude Code) was used to diagnose the issue and come up with potential solutions. The actual solution was implemented manually. ## Checklist - [x] The pull request only contains commits that are focused and relevant to this change. - [x] I have added appropriate tests that cover the new/changed functionality. - [x] I have updated the documentation to reflect these changes. - [x] I have added entries to the changelog for any noteworthy additions, changes, fixes, or removals. - [x] I have added migration instructions to the upgrade guide (if needed). - [x] The changes follow the project's style guidelines and introduce no new warnings. - [x] The changes are fully tested and pass the CI checks. - [x] I have reviewed my own code changes. **If PR contains AI-assisted content:** - [x] I have disclosed the use of AI tools in the PR description as per our [AI Usage Guidelines](https://github.com/munich-quantum-toolkit/core/blob/main/docs/ai_usage.md). - [x] AI-assisted commits include an `Assisted-by: [Model Name] via [Tool Name]` footer. - [x] I confirm that I have personally reviewed and understood all AI-generated content, and accept full responsibility for it. Signed-off-by: Lukas Burgholzer (cherry picked from commit 09bd0432ea5d6374a81ec5e6de3ca744f94499e0) # Conflicts: # CHANGELOG.md --- CHANGELOG.md | 7 ++++++- src/qdmi/driver/Driver.cpp | 10 +++++++--- 2 files changed, 13 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5faec4e884..42ecd1601f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,10 @@ This project adheres to [Semantic Versioning], with the exception that minor rel - 🚸 Improve native gate support for the Qiskit-to-OpenQASM3 conversion in the QDMI-Qiskit interface ([#1719]) ([**@burgholzer**]) +### Fixed + +- 🏁 Fix dynamic loading of QDMI device DLLs on Windows when an absolute path is provided ([#1720]) ([**@burgholzer**]) + ## [3.6.0] - 2026-05-13 _If you are upgrading: please see [`UPGRADING.md`](UPGRADING.md#360)._ @@ -370,8 +374,9 @@ _📚 Refer to the [GitHub Release Notes](https://github.com/munich-quantum-tool [3.0.0]: https://github.com/munich-quantum-toolkit/core/releases/tag/v3.0.0 [2.7.0]: https://github.com/munich-quantum-toolkit/core/releases/tag/v2.7.0 - +