vc++6.0 编译时报错 LNK2001 on __beginthreadex and __endthreadex

LNK2001 on __beginthreadex and __endthreadex


这是一个非常常见的链接错误。原因是由于在VC3。0以后所有的MFC类都是线程安全的,在MFC类库中使用了Thread Local Storage (TLS)提供预处理的数据。因此如果程序中包含了"stfafx.h"头文件或者使用了,MFC类库中的类就会使用MSVCRTx0.DLL 来进行链接。改正方法如下:
On Visual C 2.x, 5.0, and 6.0: 
     Select the Project menu, and then continue Steps 2 through 5 below.
On Visual C 4.x: 
      Select the Build menu.
      Select the Settings... option.
     Select the C/C++ tab.
     Select Code Generation on the Category list box.
     Finally, make a selection other than Single-Threaded on the Use Run Time Library list box.
      如果使用了"Multithreaded using DLL"方式还要求在预处理符号中加上_AFXDLL 符号.
      还在LIBC。LIB是C Runtime的静态链接库。
    MSVCRTx0.DLL 是C Runtime的动态链接库。
    如果程序中包含了任何MFC代码,或者编译使用了/MT选项,都要求使用多线程库。
    为什么在程序中包含了"StdAfx.h"文件也会出现这个连接错误呢?是由于在"StdAfx.h"中使用了MFC类,并且重载了new等操作符,如果在程序中使用了NEW等就会出现链接错误。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值