我有一個有開發工具的硬件(xray傳感器)。但afaiu這些都建於msvc。所以我有一個.lib文件和.dll文件。如果我將這個lib文件包含到我的項目中(我正在使用qt),並將dll文件放到exe文件夾中並使用MSVC-Release選項進行編譯。但是當我嘗試使用mingw-Release選項進行編譯時。它失敗。在mingw中使用msvc lib
未定義的參考`小鬼 __ZN6IDcDrv6CreateEPKci「
未定義的參考`小鬼 __ZN6IDcDrv14GetDeviceCountEv」
你可以點一些出路,這樣我就可以使用這些庫。並使用MinGW的編譯器的dll文件
PS: 我嘗試和失敗 IMPDEF dclibsn.dll> dclib.def
dlltool -dllname dclibsn.dll --def dclib.def --output-lib的libdclibsn.a
,這是我的DEF文件看起來像
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]
注意在此文件中的最後一項(創建)。我試圖在程序中調用這個,我也得到
(.text+0x1ad): undefined reference to `_imp___ZN6IDcDrv6CreateEPKci'
,如果我更換線?創建@ IDcDrv @@ SAPAVDcDrv @@ PBDH @ Z
與小鬼 __ZN6IDcDrv6CreateEPKci彙編,但給人的錯誤。
The procedure entry point _ZN6IDcDrv6CreateEPKci could not be located in the dynamic link library dclibsn.DLL.
這是真的。所以我試圖找到一種方法將這個dll和lib導出爲.a格式,以便我可以將它與mingw鏈接起來。如果我是正確的dll文件可以用於.lib和.a文件。 – ardavar
非常酷。我會密切關注這一點,看看你是否找到了解決辦法,因爲我一直很好奇這樣做。 – NeilMonday