问题:
在vs2017上使用NIM_DUILIB,其中有一个duilib的项目,可以正常编译为.lib文件,但使用时报错,类似“LNK2019: 无法解析的外部符号 __imp__wglCreateContext@4”和“LNK2001 无法解析的外部符号 __imp__printf”。
解决方法:
首先在报错的前面有一个(duilib.lib)提示,我一直以为是另一个项目使用这个lib出现问题,因此一直解决不了。
注意,这代表是duilib项目中某些函数找不到库文件,因此在配置项目中添加对应的库文件就好了。
第一步,在RegCloseKey 函数 (winreg.h) - Win32 apps | Microsoft Learn这个网站上,找到该函数的所需要的lib文件。
第二步,在项目的配置中找到库依赖,添加上去就好了。
这样就好了。因此,最终原因依旧是所需要的函数找不到。引用别人的,有可能因为库文件没有。自己写的,有可能因为函数名输错什么的。