fatal error C1189: #error: WinSock.h has already been included 的解决方案

发布时间:2026/10/20 6:29:50

fatal error C1189: #error: WinSock.h has already been included 的解决方案 目录1.错误原因2.解决方案1.错误原因boost::asio内部会引入WinSock2.h而项目中先包含了Windows.h或其他头文件间接包含了旧版WinSock.h导致WinSock.h与WinSock2.h两套套接字 API 头文件重复 / 冲突包含编译器直接报错。2.解决方案1.全局添加预处理器宏最快修复CMake/Qt 通用在你的 CMakeLists.txt 中给目标添加定义阻止Windows.h自动引入旧版WinSock.htarget_compile_definitions(ReviewControlPlugin PRIVATE _WINSOCKAPI_ # 阻止 Windows.h 自动包含 winsock.h WIN32_LEAN_AND_MEAN # 精简 Windows.h 包含内容减少冲突概率 )如果是 VS 项目直接在「项目属性 → C/C → 预处理器 → 预处理器定义」中添加_WINSOCKAPI_;。2.调整头文件包含顺序在所有.cpp/ 预编译头中保证 boost/asio 相关头文件在 Windows.h 之前被包含// 正确顺序先包含 asio内部引入 WinSock2.h #include boost/asio.hpp // 再包含 Windows 头文件 #include windows.h3.排查并替换旧头文件检查项目代码中是否有直接#include winsock.h全部替换为#include winsock2.h两套头文件不能共存。
延伸阅读

更多相关文章

2026/10/15 23:57:06

HTTP / HTTPS 站点互相嵌套问题

HTTP / HTTPS 站点互相嵌套科普 一句话结论 场景是否可行HTTP 页面嵌套 HTTP 资源✅ 可以HTTP 页面嵌套 HTTPS 资源✅ 可以HTTPS 页面嵌套 HTTPS 资源✅ 可以HTTPS 页面嵌套 HTTP 资源❌ 大概率被拦截或自动升级失败 只有"HTTPS 里嵌 HTTP"这一种组合有问题,这种情…

2026/10/17 5:55:26

MaxText弹性训练:TPU分布式训练中断秒级恢复与拓扑无关检查点

你有没有遇到过这样的情况:在云端训练一个大模型,跑了几天几夜,突然因为资源调度、节点故障或者预算限制,训练被中断了。重新开始时,不仅要浪费大量时间重新初始化,还可能因为检查点不兼容导致整个训练作废…

2026/10/19 16:47:36

沛颖电子教室教学辅助系统 V3.0.4

沛颖电子教室教学辅助系统 —— 让课堂管理更高效、更智能 一、系统简介 沛颖电子教室教学辅助系统 是由广州沛颖科技团队独立研发的一款面向 Windows 环境的电子教室辅助管理软件。系统采用 Python 语言开发,基于 Tkinter 图形界面框架,覆盖屏…

2026/10/20 8:26:47

Hermes Agent 持久记忆架构拆解:分层存储与主动召回实战

1. 从“金鱼记忆”到“长期记忆”:为什么我们需要一个会长记性的 Agent做 AI 应用开发的人都有一个共同的痛点:你花了一下午调教好的对话助手,关掉窗口再打开,它就像被敲了一记闷棍,完全不记得你是谁、之前聊过什么、上…

2026/10/20 8:26:47

Kubernetes API Server 核心机制全解析:从请求链路到 Watch 原理

很多人学 k8s 的头一步,是找一个现成的 YAML 抄下来,然后kubectl apply一下,看到 Pod 跑起来就觉得入门了。这个流程走通之后,接下来一定会被一个问题卡住:这个 Pod 到底是谁创建的?kubectl 只是敲在本地的…

2026/10/20 8:26:47

大数据分析实战路径:从数据清洗到分布式模型落地全解析

做大数据分析这些年,我见过太多人一上来就抓框架、追组件,结果数据还没摸到,光环境依赖就折腾了两周。这行的门槛从来不是工具,而是分析思路和数据嗅觉。所以我写这篇实战指南,就是要把“从理论到代码落地”这件事说透…

2026/10/20 8:26:47

CVE-2021-4034深度复盘:pkexec本地提权漏洞原理与安全自查

这一篇应该是2021年本地安全领域里最值得反复复盘的一个案例。CVE-2021-4034,出在polkit的pkexec组件上,一个长期以setuid方式存在、几乎所有Linux发行版都默认带上的小工具。攻击者不需要高权限,不需要奇怪配置,只要能在机器上以…

2026/10/20 8:26:47

if-else深度解析:从执行细节到代码重构与性能优化

1. 先聊聊条件逻辑:为什么if-else是程序里最绕不开的东西我做了这么多年开发,接手过从几万行到上百万行的老系统,说句实在话:代码里出现频率最高的控制结构,永远是if-else。别管你是写前端、后端、脚本还是算法题&…

2026/10/20 8:21:46

AI服务商选型失败率高企:从POC到合同的落地避坑指南

这个系列聊到第三篇,终于要触碰一个有点扎心的话题:AI服务商选型失败率。我在企业服务和技术咨询这边做了不少年头,复盘过形形色色的AI落地项目,一个非常残酷的事实是——大量项目早在选型阶段就已经埋下了失败的种子。某制造企业…

2026/10/19 18:06:35

金融AI落地指南:从调研报告到技术选型与工程实践

简介:这份PDF报告聚焦2025年金融服务业中国AI现状与趋势,面向金融科技从业者、AI战略规划人员及关注行业数字化转型的研究者,帮助读者把握生成式AI在银行、支付、交易等场景中的落地路径与投资方向。资源包内含1个PDF文件,大小约1…

2026/10/20 1:05:37

单片机C运行时从启动到多任务:中断安全与共享资源冲突

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

GCC编译四步详解:预处理、编译、汇编、链接实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/20 1:05:37

FIW线是什么?FEP注塑线与普通氟塑料线的区别及应用指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

还想了解更多?直接咨询顾问

免费诊断 + 免费方案 + 透明报价。

全国咨询热线400-8866-253
免费获取方案
☎咨询二维码 ☎ ↑