QT use DLL from vc6
-
qt 5.4+mingw+windows7 is my environment
I have the hole VC6 project ,i export a dll from vc6 the header like this:
#ifndef DLL_API
#define DLL_API extern "C" __declspec(dllimport)
#endif
#define WIN_API __stdcall
DLL_API WORD WINAPI dsoHTSearchDevice(short* pDevInfo);DLL_API WORD WINAPI dsoHTDeviceConnect(WORD nDeviceIndex);
DLL_API WORD WINAPI dsoHTDeviceConnecttest(WORD nDeviceIndex) //this method do nothing but only to return a number to test ifthe dll works
.....................................
but when i try to use it in my qt ,it didnot work,I try in two way
1
LIBS +=-LD:/From_Peng/HTHardDll/HTHardDll -lHTHardDll
INCLUDEPATH +=D:/From_Peng/HTHardDll
i include the header file and call function
dsoHTDeviceConnecttest(0)
"DLL_API WORD WINAPI dsoHTDeviceConnecttest(WORD nDeviceIndex)
{
return 2;
}"which should return 2but my debug exe go crash when call this fun
2
QLibrary myLib("D:/From_Peng/HTHardDll/HTHardDll/HTHardDll");if(myLib.load()) { qDebug()<<"load lib success"; } else { qDebug()<<"load lib failed"; }
in this method it all ways output load lib failed
is there any guy know the reason? -
finally i got the reason by myself
the DLL i called is depend on another
when i copy the dll to workspace it depend both way works