Accessing a 32-bit dll from Qt
-
Hello,
I have a Qt desktop application which today is a 64-bit built for Windows with MSVC using Qt 6.4.x. Now I need to access a legacy 32-bit dll to interface with a legacy hardware. What might be the easiest? Is it possible to build qt for 32-bit Windows? From https://doc.qt.io/qt-6/windows-building.html the supported architecture is x86_64. Does that mean only 64-bit or 32 and 64-bit?
Or would you recommend to build a 32-bit application and set up some kind of IPC? Of so, which one? I saw that Microsoft recommends COM but that seems overkill in my situation. The API in the DLL which I need to access is just ~12 functions.
-
Hello,
I have a Qt desktop application which today is a 64-bit built for Windows with MSVC using Qt 6.4.x. Now I need to access a legacy 32-bit dll to interface with a legacy hardware. What might be the easiest? Is it possible to build qt for 32-bit Windows? From https://doc.qt.io/qt-6/windows-building.html the supported architecture is x86_64. Does that mean only 64-bit or 32 and 64-bit?
Or would you recommend to build a 32-bit application and set up some kind of IPC? Of so, which one? I saw that Microsoft recommends COM but that seems overkill in my situation. The API in the DLL which I need to access is just ~12 functions.
@olowo726 said in Accessing a 32-bit dll from Qt:
I need to access a legacy 32-bit dll
Then your application and all its dependencies must also be 32-bit.
Or would you recommend to build a 32-bit application and set up some kind of IPC? Of so, which one? I saw that Microsoft recommends COM but that seems overkill in my situation. The API in the DLL which I need to access is just ~12 functions.
Yes, this is a possible alternative... But your code would need to become significantly more complex. Definitely not my preferred route.
Is it possible to build qt for 32-bit Windows?
It's not supported, but you can try. (Qt 6 does build for 32-bit embedded Linux devices)
From https://doc.qt.io/qt-6/windows-building.html the supported architecture is x86_64. Does that mean only 64-bit or 32 and 64-bit?
x86_64 means 64-bit.