#include <wincrypt.h>编译有问题的
Cmake-gui生成sln后,再次vs打开sln,遇到编译失败。
提示的是
#include <wincrypt.h>
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(380,29): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(380,19): error C2146: 语法错误: 缺少“;”(在标识符“HCRYPTPROV”的前面)
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(899,17): error C3646: “dwVersion”: 未知重写说明符
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(899,26): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(901,13): error C2143: 语法错误: 缺少“;”(在“*”的前面)
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(901,13): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(901,19): error C2238: 意外的标记位于“;”之前
4>C:\Program Files (x86)\Windows Kits\10\Include\10.0.19041.0\um\wincrypt.h(902,13): error C3646: “cbOID”: 未知重写说明符
要将 #include <windows.h>放在#include <wincrypt.h>前面
#ifdef _WIN32
#include <windows.h>
#include <wincrypt.h>
#else
#include <openssl/hmac.h>
#endif
以后在遇到类似问题:
可能是其他window系统文件的顺序,
注意需要将windows.h和windef.h加到最前,放在 wincrypt.h之前
后来发现网上已经提供过方法,自己么有找,先将他们的网页引用
参考https://blog.csdn.net/weixin_34008933/article/details/92344603
参考 https://blog.csdn.net/weixin_34008933/article/details/92344603
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
2022-05-16 TerminateThread