'_beginthreadex' : undeclared identifier

'_beginthreadex' : undeclared identifier

分享
分类: 调试程序 2009-11-19 22:23

有可能的原因:

1.没有包含头文件 process.h

2.没有包含库文件 LIBCMT.LIB或者MSVCRT.LIB

如果仍然有这个错误

原因就是在工程->设置->C/C++->Code Generation->Use run-time libray->选 Debug Multithread(多线程),或 Multithread!运行库必须用多线程的!

 

并且,在dll中间没有这个问题,只有在exe中间才有这个bug,因为dll默认的是Debug Multithread,而exe默认的是single

PS:2010.4.13

过了这么长时间又碰到了这个问题

打开process.h发现_beginthreadex' 定义的前面有一个宏判断

#ifdef  _MT
_CRTIMP unsigned long  __cdecl _beginthread (void (__cdecl *) (void *),
        unsigned, void *);
_CRTIMP void __cdecl _endthread(void);
_CRTIMP unsigned long __cdecl _beginthreadex(void *, unsigned,
        unsigned (__stdcall *) (void *), void *, unsigned, unsigned *);
_CRTIMP void __cdecl _endthreadex(unsigned);
#endif
如果在程序前面#define _MT,则不存在这个问题

而这个如果在工程的设置中间改为Debug Multithread 则也可以消除这个问题

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值