有可能的原因:
1.没有包含头文件 process.h
2.没有包含库文件 LIBCMT.LIB或者MSVCRT.LIB
如果仍然有这个错误
原因就是在工程->设置->C/C++->Code Generation->Use run-time libray->选 Debug Multithread(多线程),或 Multithread!运行库必须用多线程的!
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
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,则不存在这个问题