我正在尝试解决链接器错误:
错误LNK2019:函数中引用的未解析的外部符号_WDC_ReadAddr32 @ 16
我不确定@ 16所指的是什么。
我很确定我在项目中添加了正确的lib文件。我使用dumpbin.exe转储了lib文件,并看到:
所以我很困惑为什么链接器会寻找_WDC_ReadAddr32 @ 16,即使它设法链接该lib文件中的其他符号。
函数原型是:
DWORD DLLCALLCONV WDC_ReadAddr32(WDC_DEVICE_HANDLE hDev,DWORD dwAddrSpace, KPTR dwOffset,UINT32 * val);
我正在使用Visual Studio 2010进行编译。此外,lib文件是在C中编译的,因此它在方法周围有外部“C”,但我正在尝试在C ++项目中使用它。
答案 0 :(得分:1)
答案 1 :(得分:1)
@符号是指每个Raymond Chen的number of bytes of parameters for the function
答案 2 :(得分:0)
将KERNEL_64BIT添加到C prepropressor定义。这样,KPTR变为8个字节而不是4个,链接器将在库中查找_WDC_ReadAddr32 @ 20。