我下载并成功构建了Crypto ++库。用depends.exe查看,我看到以下内容:
"呼叫层次结构"有问题的外部模块似乎是(来自depends.exe):
CRYPTOPP.DLL
ADVAPI32.DLL
USER32.DLL
POWRPROF.DLL
SETUPAPI.DLL
USERENV.DLL
GPSVC.DLL
在Crypto ++源代码中,我注意到osrng.h
中有一个
#pragma comment(lib, "advapi32.lib")
任何人都可以帮助我理解为什么DLL中存在未解析的外部模块?因此,我无法使用它。
答案 0 :(得分:4)
如果您在使用该库时遇到问题,那肯定不是因为缺少该依赖项。请注意,您列出的层次结构包括advapi32.dll和user32.dll。两者都是几乎每个Windows程序都直接需要的DLL,因此它们显然无法使用。
depends.exe中的图标旁边的沙漏表示DLL为delay loaded。延迟加载的DLL在实际调用函数之前不会加载,因此完全可以延迟不存在的DLL的加载,并且仍然有一个工作程序。