VC6的MFC中想使用switchtothread函数,但是编译报错 我已经include了winbase.h和define了_WIN32_WINNT

我已经include了winbase.h和define了_WIN32_WINNT0x0501#pragmacomment(lib,"Kernel32.lib")但还是报错... 我已经include了winbase.h和define了_WIN32_WINNT 0x0501

#pragma comment(lib, "Kernel32.lib")

但还是报错:error C2065: 'SwitchToThread' : undeclared identifier
自己跟踪了一下h文件的记录
发现是根本没有进入到winbase.h里面的
#ifndef _WINBASE_
#define _WINBASE_
也就是说,在之前肯定已经有一个地方定义了_WINBASE_或者已经包含了winbase.h
后来直接在stdafx.h的开始添加了对于_WIN32_WINNT的定义
发现就ok了
因为这个工程是一个大项目的平台工程,所以好多东西看不过来,但是原因找到了,而且还想起来怎么跟踪h文件,也是个好事情哈
非常感谢大家的回答
展开
 我来答
arongustc
科技发烧友

2012-10-06 · 智能家居/数码/手机/智能家电产品都懂点
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:6055万
展开全部
绝大多数api都不需要手工包含winbase.h
你最好贴出你的源代码看看
注意:不要在#include "stdafx.h"前写任何代码。如果有,移动到#include "stdafx.h"之后
意法半导体(中国)投资有限公司
2023-06-12 广告
单片机,即单片微控制器,也称为单片微型计算机,是将中央处理器(CPU)、存储器(ROM,RAM)、输入/输出接口和其他功能部件集成在一块 在一个小块的集成电路上,从而实现对整个电路或系统的数字式控制。单片机不是完成某一个逻辑功能的芯片,而是... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
借风而行
2012-10-06 · 超过17用户采纳过TA的回答
知道答主
回答量:78
采纳率:0%
帮助的人:49.2万
展开全部
以下是MSDN提供的使用该函数 需要的项,好像你的里面少了windows.h
Requirements
ClientRequires Windows Vista, Windows XP, Windows 2000 Professional, or Windows NT Workstation 4.0.
ServerRequires Windows Server 2008, Windows Server 2003, Windows 2000 Server, or Windows NT Server 4.0.
HeaderDeclared in Winbase.h; include Windows.h.
LibraryUse Kernel32.lib.
DLLRequires Kernel32.dll.
追问
#ifndef _WIN32_WINNT
#define _WIN32_WINNT 0x0501
#endif
#inlcude
#include
#pragma comment(lib, "kernel32.lib")

然后在一个thread里面写了switchtothread()
编译的时候还是会出错

但是很奇怪啊,我在winbase.h里面找到了swtichtothread函数的定义。。。。。
追答
工程设置里写上链入kernel32.lib再试试,正常使用
#pragma comment(lib, "Kernel32.lib")

可以啊,奇怪,难道是大小写?搞不懂

参考资料: MSDN

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式