1、fatal error C1189: #error : WinSock.h has already been included

问题描述:在编译文件中包含多个文件使用使boost::asio时可能提示以上错误,

百度之后的解决方法大同小异,如下:

(a) 调整文件顺序,尝试将 #include "winsock2.h" 在包括mysql和boost :: asio之前

(b) 在包含Windows.h前定义宏WIN32_LEAN_AND_MEAN

(c)在boost/asio.hpp头文件前面加上 #define BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN

#define BOOST_ASIO_NO_WIN32_LEAN_AND_MEAN
#include <boost/asio.hpp>

(d)添加如下代码

#ifdef BOOST_OS_WINDOWS
#define _WIN32_WINNT 0x0501
#if _WIN32_WINNT <= 0x0501
#define BOOST_ASIO_DISABLE_IOCP
#define BOOST_ASIO_ENABLE_CANCELIO
#endif
#endif

但是上面的方法我都试过,然而没效果(针对当时情况)

解决方法:(懒人专用)后来发现在项目 ->属性 -> C/C++ -> 预处理器 -> 预处理器定义

在其中添加 : WIN32_LEAN_AND_MEAN (WIN32_LEAN_AND_MEAN表示不包含一些极少使用和偏门的资料)

2、将vs创建的dll项目改为用qt创建,发现std::min以及std::max出现未定义函数问题

解决方法:使用std::min< T> 将具体类型手动写入,不用函数自动推导重载。

【笔记1-5】Qt bug 记录 C11 89 Qt requires a C++ 17 compiler, and a suitable value for __cplusplus. On MSVC
错误1: unexpected end of file while looking for precompiled header directive改正方法:工程-&gt;设置-&gt;C/ C++ ,在分类中选中“预编译的头文件”,然后选中“自动使用预补偿页眉”或“不使用预补偿页眉” 错误2:unresolved external symbol __mbctype或unresolved exter...
在vc开发中,时常遇到这个错误 C11 89 : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d] 网上的解决办法五花八门。最后发现http://blog.csdn.net/a5142
搭建的kylin工程Release编译没有 问题 ,但是修改为debug的时候,发现编译报错。 解决方案:在 属性=>C/ C++ =>预处理器=>预处理器定义中添加下面这个就可以编译通过了。 _SCL_SECURE_NO_WARNINGS 又看了一下项目中的配置,在预处理器定义中还有下列配置: _CRT_SECURE_NO_WARNINGS、_USEDLL、PA_FAST、PROJECT_KYLIN、GAME_SERVER;不知道干嘛用的,先 记录 下,回头研究。
其实在CSDN注册用户好多年了,大多都是寻求帮助,看看别人的心得,或是下载资料,着实有点羞愧! 但最近越来越感觉到自己脑子更加不好使了,可能以前遇到过的 问题 ,当时已经搞定,经过一段时间再遇到,自己居然一点印象都没有了,悲摧啊! 突然想到可以用这种方式 记录 下自己曾经的想法和做法,原创也好,转载也好,对自己肯定有好处,兴许还能能给别人帮上忙。ps:自己也算有个博客了,顺便满足虚荣心。 废话不多说
1.错误 MSB8031 Building an MFC project for a non-Unicode character set is deprecated. You must change the project property to Unicode or download an additional library. 错误 MSB8031不赞成为非Unicode字符集生成MFC项目。您必须将项目属性更改为Unicode,或者下载一个附加库。 2.错误 C11 89 # error : Build
编译项目之后出现如下 问题 : 解决办法: 1、双击改 问题 跳转到相应的代码段,我代码段如下所示:(不同版本可能不同,但大同小异) 2、可以通过将 NO_WARN_MBCS_MFC_DEPRECATION 预处理器定义添加到您的项目生成定义消除此警告。在项目stdafx.h文件中的#pragma once下面添加如下代码: 3、将stdafx.h文件中 4、在VS中,右击项目->属性 ->链接器 -> 清单文件 -> 生成清单 -> 选择否 发现再次编译运行就没 问题 了......