ATL工程由VC6升级到2003后不能编译为Release的解决方法

原创 2006年05月31日 22:38:00
大概是ATL的一个BUG吧,用VC6建的ATL工程如果使用了CRT(C运行库)中的函数,如strcpy或memset等,它将不能被编译为RELEASE。网上找了一些文章,都说原因是RELEASE的编译选项中定义了_ATL_MIN_CRT这个宏。它使C运行库被最小连接到目标文件,导致链接时报错没有main函数的错误。解决办法就是从编译选项中去掉_ATL_MIN_CTR。
但如果你和我一样,工程是从VC6升级来的,升级又后又做了很多改动,这时你会发现VS2003中找不到去掉这个宏的方法,至少我没找到。这怎么办呢,难道要重建一遍工程吗?
既然不能在编译选项里去掉它,那就从代码里去。我们知道,编译选项里添加宏和在代码里定义#define的效果是一样的,那么就用#undef这个编译开关,把下面这句添加到stdafx.h中:
#undef _ATL_MIN_CRT
再编译,OK,一切解决。

COM组件设计与应用之VC6中用ATL写组件

http://dev.yesky.com/29/2037029.shtml 一、前言   1、如果你在使用 vc5.0 及以前的版本,请你升级为 vc6.0 或 vc.net 2003;   2...
  • cibiren2011
  • cibiren2011
  • 2017年06月10日 07:40
  • 416

VC6项目移植到VS2008的若干问题——好的代码,从我做起,从现在做起。

VC6项目移植到VS2008中遇到的一些问题以及解决办法。 好的代码,从我做起,从现在做起。...
  • u011729265
  • u011729265
  • 2014年05月16日 20:28
  • 2214

VC工程需要注意字符集问题

经过好多天,好多代码之后,才发现写VC程序时候,一定要注意字符集的问题,VS2012默认工程字符集为UNICODE,但是以前的VC工程不一定是UNICODE,VC6默认字符集为多字节字符集,如果我们在...
  • sunylat
  • sunylat
  • 2013年02月14日 22:04
  • 3607

ATL--创建简单的ATL之dll工程,添加类和类的接口并在MFC中调用

开发环境 Windows Server 2012  VS2010 Sp1 番茄助手 创建ATL简单dll工程 1、打开VS2010,新建ATL COM 项目,步骤:“文件” “新建” “项目”,选择“...
  • sakawa_x
  • sakawa_x
  • 2017年06月07日 07:39
  • 1059

创建ATL工程及使用C++测试COM组件

VS2010创建ATL工程及使用C++测试COM组件              1.创建ATL项目,取名MyCom 2. ATL 项目向导,勾选 【支持COM+ 1.0】和【支...
  • jiangqin115
  • jiangqin115
  • 2015年09月08日 09:31
  • 764

VS2010创建ATL工程及使用C++测试COM组件

1.创建ATL项目,取名MyCom 2. ATL 项目向导,勾选 【支持COM+ 1.0】和【支持部件注册器】,其他默认,点击完成。 3.在该项目中添加类 4.添加一个ATL简单对象...
  • xiaojun111111
  • xiaojun111111
  • 2015年03月30日 12:17
  • 798

VS环境下Debug和Release版本的区别

说一点闲话我在大学刚刚学习编程的时候,对于Debug和Release这两个词只是处于知道的水平,并没有深入了解。因为大学时期的编程更多的是为了实现,而不是使用。所以部署这个词,在大学时和我没有任何瓜葛...
  • Lionel_Coder
  • Lionel_Coder
  • 2016年07月14日 21:49
  • 3140

修改VC6项目名称

为何要改项目名称: ===================================== 如:我的项目和另一个重名了,在VC中如何才能改成别的项目名字。      我想重用别人的项目框...
  • djb100316878
  • djb100316878
  • 2015年11月09日 10:29
  • 1185

python编译成windows exe可执行文件

pyInstaller是一款用于将pyhon程序打包成exe文件的工具,pyInstaller不是一个python的包, 只需要把pyInstaller的文件下载下来放到任意为止都可以,也就是说pyI...
  • yagamil
  • yagamil
  • 2014年12月14日 12:18
  • 3807

STL,ATL,WTL之间的联系和区别

一、STL即 Standard Template Library (标准模板库)       STL是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Le...
  • wangwenjing90
  • wangwenjing90
  • 2013年05月14日 14:44
  • 3962
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ATL工程由VC6升级到2003后不能编译为Release的解决方法
举报原因:
原因补充:

(最多只允许输入30个字)