PDA

View Full Version : Can link a project with .exe(built using GCC) and another .dll( built using VC)?



babygal
11th May 2010, 03:53
Is it possible to establish a link between a project with .exe(built using GCC) and another .dll ( built using VC)?
The desired compile and build environment to link the two is GCC.
If no , what is the reason.And if yes, how to link?

ChrisW67
11th May 2010, 04:01
Maybe, it really depends a lot on the specifics. I am assuming the EXE is a Qt project.
Is the DLL a COM/ActiveX object? If so, use ActiveQt.
Is the DLL pure C functions or is it C++? If the former then you will probably have better luck.
MingW mixing compilers (http://www.mingw.org/wiki/MixingCompilers)

babygal
11th May 2010, 04:23
Maybe, it really depends a lot on the specifics. I am assuming the EXE is a Qt project.
Is the DLL a COM/ActiveX object? If so, use ActiveQt.
Is the DLL pure C functions or is it C++? If the former then you will probably have better luck.
MingW mixing compilers (http://www.mingw.org/wiki/MixingCompilers)

I do not know if DLL is a COM or ActiveX object.How do I confirm? But I only know DLL comes with a .lib(Object File Library) and other header files.
DLL is in MSVC C++ .

ChrisW67
11th May 2010, 04:50
Do you have to register the DLL to use it? Com/ActiveX DLLs have a bunch of related registry entries that are created by registration. Try it if you don't know:
C:\Windows\system32> regsvr32 example.dll Non-COM DLLs will generate an error message.

The binary interface of C++ code differs between GCC and MSVC++ so if the DLL is straight C++ you are probably out of luck.