Important: Please read the Qt Code of Conduct -

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)
    #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
    LIBS +=-LD:/From_Peng/HTHardDll/HTHardDll -lHTHardDll
    INCLUDEPATH +=D:/From_Peng/HTHardDll
    i include the header file and call function
    "DLL_API WORD WINAPI dsoHTDeviceConnecttest(WORD nDeviceIndex)
    return 2;
    }"which should return 2

    but my debug exe go crash when call this fun
    QLibrary myLib("D:/From_Peng/HTHardDll/HTHardDll/HTHardDll");

            qDebug()<<"load lib success";
            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

Log in to reply