warning LNK4006

 在编译ATL连接控件的Debug版本时不会出现问题,但是在Release版本里会出现“error LNK2005”、“warning LNK4006”以及“error LNK2001”错误和警告。这是由于ATL COM AppWizard产生缺省项目时,在所有Release版本的设置中定义宏_ATL_MIN_CRT。定义此宏可以不必将并不需要的C Run-Time库引入代码中。但是很多时候需要C Run-Time库,这是应该去掉_ATL_MIN_CRT宏。

      方法如下:在“Project”菜单中选择“Setting”命令。弹出的“Project Setting”对话框的“Setting For:”下拉列表框中,选择“Multiple Configurations”。会弹出“Selectproject configuration(s) to modify”对话框,在对话框中选中所有4个Release版本的复选框,然后点击“OK”按钮。

      接着在“Project Setting”对话框中选中“C/C++”选项卡,然后选择“General”类型,在“Preprocessordefinitions”编辑框中去掉_ATL_MIN_CRT,单击“OK”按钮即可。

      在MinDependency版本中还是可能出现“error C2872: 'ATL' : ambiguous symbol”的错误,只要继续去掉“_ATL_STATIC_REGISTRY”即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值