博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
#define WIN32_LEAN_AND_MEAN 的作用
阅读量:6501 次
发布时间:2019-06-24

本文共 1233 字,大约阅读时间需要 4 分钟。

[转]#define WIN32_LEAN_AND_MEAN 的作用

今天看了用mysql的库+vc连接数据库,结果我用mfc application向导建立一个工程,然后添加#include "mysql.h"(已经设置好了环境),编译出现了一大堆错误,如下

Compiling...

StdAfx.cpp
c:mysqlincludemysql_com.h(116) : error C2146: syntax error : missing ';' before identifier 'fd'
c:mysqlincludemysql_com.h(116) : error C2501: 'SOCKET' : missing storage-class or type specifiers
c:mysqlincludemysql_com.h(116) : error C2501: 'fd' : missing storage-class or type specifiers
c:mysqlincludemysql_com.h(180) : error C2065: 'SOCKET' : undeclared identifier
c:mysqlincludemysql_com.h(180) : error C2146: syntax error : missing ')' before identifier 's'
c:mysqlincludemysql_com.h(181) : error C2059: syntax error : ')'
Error executing cl.exe.

 

网上找了许久,没有找到答案,我就查看了mysql根目录下的examples,里面有个工程是不是用 c++编写的,我调试了一下,居然可以编译,我就想mysql.h这个文件不会有错误,应该是编译时,include 冲突了,我就把stdafx.h那个文件删除掉几行,结果当我把#define WIN32_LEAN_AND_MEAN这几话屏蔽后,就可以编译了,我也试用了 mysql_init((MYSQL*) 0);这个函数没有问题.所以问题就出在define WIN32_LEAN_AND_MEAN这句话.

#define WIN32_LEAN_AND_MEAN,这句的目的是指示编译器不要包含与MFC相关的操作。( 只是一个好的练习——如果你不在使用 MFC) 然后我们包括 dxutil.h 和 ddutil.h,这是两个很有用的头文件。 他们能够使你以一种比通常的DirectX编程更轻松的方式来工作。

 

为什么要  #define WIN32_LEAN_AND_MEAN 。

   答案很简单,因为我要包含尽量精简的内容,包含了这一句编译的时候明显快多了。

转载于:https://www.cnblogs.com/Dageking/p/3521405.html

你可能感兴趣的文章
如何在Windows查看端口占用情况及查杀进程
查看>>
一分钟秒懂公有云、私有云、混合云......
查看>>
云存储应用Upthere获7700万美元股权债务融资
查看>>
国家互联网应急中心何世平博士主题演讲
查看>>
洗茶,你误会了多少年?
查看>>
移动大数据“后市场”受青睐 亟需数据深度学习人才
查看>>
贵阳高新区力争打造“千亿级大数据园区”
查看>>
安防众筹不止于卖产品 思维拓展刺激消费
查看>>
OpenSSH曝高危漏洞 会泄露私钥
查看>>
艾特网能获2016APCA用户满意品牌大奖
查看>>
《软件工艺师:专业、务实、自豪》一2.4 《敏捷软件开发宣言》
查看>>
《CCNP TSHOOT 300-135学习指南》——第2章 结构化故障检测与排除进程
查看>>
《Java EE 7精粹》—— 2.5 非阻塞I/O
查看>>
《Python数据科学实践指南》一2.2 字符串
查看>>
《R数据可视化手册》——1.1 安装包
查看>>
《iOS创意程序设计家》——导读
查看>>
spring-aop
查看>>
android RecycleView Adapter简单封装
查看>>
PgSQL · 案例分享 · 递归收敛优化
查看>>
Dart的数据库操作
查看>>