3
我有一個第三方LIB,它具有以普通C/cdecl導出的符號,因此例如dumpbin.exe /SYMBOLS
報告導出了__imp_nvmlInit
和nvmlInit
。DLL和Name Mangling
然而,在Visual Studio 2010中,當我嘗試導入,頭文件將有
extern "C" nvmlReturn_t nvmlInit(...);
但是當我嘗試編譯,我得到以下錯誤:
main.obj : error LNK2019: unresolved external symbol _nvmlInit referenced in function _main
哪有我停止Visual Studio尋找具有前導下劃線的符號? __declspect(dllimport)
不起作用,因爲它然後裝飾到__imp__nvmlInit
(一個下劃線太多)。
謝謝。
糟糕,對不起,我在我原來的文章中犯了一個錯誤 - 我實際上鍊接到.LIB,並且庫導出完全未修飾的函數,而鏈接器正在尋找下劃線的前綴名稱... – 2011-05-11 08:57:02