遇到个奇怪问题,有个第三方提供的动态链接库包括了ncmapi.lib,ncmapi.dll, ncmapi.h三个文件。
我用MFC写一个测试程序作为调用方,使用下面的声明时,得到以下链接错误
extern "C"_declspec(dllimport)ncm_launcher_t* ncm_launcher_new();
Error 2 error LNK2001: unresolved external symbol __imp__ncm_launcher_new
为了查看第三方库,我用dumpbin-exports ncmapi.lib得到下面的结果,可以看到库文件里包含了函数ncm_launcher_new,但函数名前面没有任何前缀
Microsoft (R) COFF/PE DumperVersion 12.00.21005.1
Copyright (C) MicrosoftCorporation. All rights reserved.
VC++ 32位与64位链接问题解决

在VC++中,调用方遇到链接错误,未能找到`ncm_launcher_new`函数。通过dumpbin工具查看第三方库ncmapi.lib,发现函数没有预期的前缀。问题源于库的32位版本带有前缀,而64位版本不带。解决方案是使用32位库或将主程序配置为64位。
最低0.47元/天 解锁文章
2020

被折叠的 条评论
为什么被折叠?



