У меня есть аппаратное обеспечение (рентгеновский датчик), на котором есть средства разработки.но afaiu они встроены в msvc.так что у меня есть файл .lib и файл .dll.Если я включаю этот файл lib в свой проект (я использую qt), помещаю файл dll в папку exe и компилирую, используя опцию MSVC-Release, все работает.Но когда я пытаюсь скомпилировать, используя опцию mingw-Release.это не удается.
неопределенная ссылка на ` imp __ ZN6IDcDrv6CreateEPKci '
неопределенная ссылка на` imp __ ZN6IDcDrv14GetDeviceCountEv'
можете выкакой-то выход, чтобы я мог использовать эти библиотеки.и dll файлы с использованием компилятора mingw
ps: я попробовал и не смог impdef dclibsn.dll> dclib.def
dlltool -dllname dclibsn.dll --def dclib.def --output-lib libdclibsn.a
и вот так выглядит мой файл определения
LIBRARY "dclibsn.dll"
EXPORTS
??0DcDrv@@QAE@ABV0@@Z
??0DcDrv@@QAE@V?$CStringT@DV?$StrTraitMFC_DLL@DV?$ChTraitsCRT@D@ATL@@@@@ATL@@@Z
??0IDcDrv@@QAE@ABV0@@Z
??0IDcDrv@@QAE@XZ
??1DcDrv@@QAE@XZ
??4DcDrv@@QAEAAV0@ABV0@@Z
??4IDcDrv@@QAEAAV0@ABV0@@Z
?CaptureImage@DcDrv@@AAE_NHHHK_NHH@Z
?CloseUsbDevice@DcDrv@@AAE_NXZ
?ColumnDefectComp@DcDrv@@AAEGPBGH@Z
?CompensationImage@DcDrv@@AAEXPAGQAEHH@Z
?Create@IDcDrv@@SAPAVDcDrv@@PBDH@Z
обратите внимание на последнюю запись в этом файле (Create.) Я пытаюсь вызвать это в программе, и я получаю
(.text+0x1ad): undefined reference to `_imp___ZN6IDcDrv6CreateEPKci'
и если я заменю строку? Создать @ IDcDrv @@ SAPAVDcDrv @@ PBDH @ Z
с imp __ ZN6IDcDrv6CreateEPKci он компилируется, но выдает ошибку.
The procedure entry point _ZN6IDcDrv6CreateEPKci could not be located in the dynamic link library dclibsn.DLL.