tengo un hardware (sensor de rayos x) que tiene herramientas de desarrollo. pero afaiu estos están construidos en msvc. entonces tengo un archivo .lib y un archivo .dll. si incluyo este archivo lib en mi proyecto (estoy usando qt), y pongo el archivo dll en la carpeta exe y compilo usando la opción MSVC-Release todo funciona. Pero cuando intento compilar usando la opción mingw-Release. falla.usando msvc lib en mingw
referencia indefinida a `imp __ZN6IDcDrv6CreateEPKci '
referencia indefinida a` imp __ZN6IDcDrv14GetDeviceCountEv'
puede señalar alguna manera para que pueda utilizar estos lib. y archivos DLL usando el compilador MinGW
ps: i intentado y no impdef dclibsn.dll> dclib.def
dlltool -dllname dclibsn.dll --def dclib.def --output-lib libdclibsn.a
y así es como mi archivo de definición parece
LIBRARY "dclibsn.dll"
EXPORTS
[email protected]@[email protected]@@Z
[email protected]@[email protected][email protected][email protected][email protected]@[email protected]@@@@[email protected]@@Z
[email protected]@[email protected]@@Z
[email protected]@[email protected]
[email protected]@[email protected]
[email protected]@[email protected]@@Z
[email protected]@[email protected]@@Z
[email protected]@@[email protected]
[email protected]@@AAE_NXZ
[email protected]@@[email protected]
[email protected]@@[email protected]
[email protected]@@[email protected]@[email protected]
nota de la última entrada en este archivo (Crear). estoy tratando de llamar a este en el programa y me sale
(.text+0x1ad): undefined reference to `_imp___ZN6IDcDrv6CreateEPKci'
y si se sustituye la línea? Crear IDcDrv @ @@ @@ SAPAVDcDrv PBDH @ Z
con imp __ZN6IDcDrv6CreateEPKci compila, pero da error.
The procedure entry point _ZN6IDcDrv6CreateEPKci could not be located in the dynamic link library dclibsn.DLL.
eso es cierto. así que estoy tratando de encontrar una forma de exportar este dll y lib a un formato para que pueda vincularlo con mingw. y si soy correcto, el archivo dll se puede usar para los archivos .lib y .a. – ardavar
Muy bueno. Estaré pendiente de esto para ver si encuentras una solución, porque tengo curiosidad por hacer esto por un tiempo. – NeilMonday