社区
ATL
帖子详情
有没人用过Visual Studio .NET 2003,进来一下
PP_Sky
2003-07-24 09:48:58
我把我用atl写的com拿到 vs.net 2003下编译时出现以下错误:
C1001: 内部编译器错误
(编译器文件“msc1.cpp”的第 2701 行)
。请选择 Visual C++
“帮助”菜单上的“技术支持”命令,或打开技术支持帮助文件获得详细信息
但错误都定位到系统的头文件里,
这个项目的文件肯定没有问题,在vc 6.0和vc.net 2002里都通过了,请问有没有人知道怎么解决??~~
...全文
88
23
打赏
收藏
有没人用过Visual Studio .NET 2003,进来一下
我把我用atl写的com拿到 vs.net 2003下编译时出现以下错误: C1001: 内部编译器错误 (编译器文件“msc1.cpp”的第 2701 行) 。请选择 Visual C++ “帮助”菜单上的“技术支持”命令,或打开技术支持帮助文件获得详细信息 但错误都定位到系统的头文件里, 这个项目的文件肯定没有问题,在vc 6.0和vc.net 2002里都通过了,请问有没有人知道怎么解决??~~
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
arxing
2003-08-03
打赏
举报
回复
我说过肯定是预编译的问题嘛。
出错的原因很多,往往是不小心没有注意到某些小节而造成。许多头文件是相关的,它们的次序不能颠倒,把某些头文件放在预编译头文件里面是强制它在相对最前面的位置,你不放也可以解决这个问题。另外,有时候还得注意编译开关,名字空间,以及class, function相互引用的问题,它们也决定了头文件的次序。
总之,你把每个obj单独看待,细心一点就很容易发现问题的所在了。
PP_Sky
2003-08-03
打赏
举报
回复
不用了,有人帮我搞掂了,把 atlcoll.h放到stdafx.h里预编译就行了;不过还是不明白为什么............. :(
PP_Sky
2003-08-02
打赏
举报
回复
to arxing(阿行):
你还是先学一下用VS再说吧,编译时cl内部错误,又何来跟踪调试???
to lygfqy(风清扬):
我也认为是编译选项的问题,不过我以经找他改成和2002一样还不行::
我试了一下,在用了atl的项目里,如果像以下这样的代码就不能通过:
template <typename T>
class Cobj
{
public:
T AA(void);
};
template<typename T>
inline T Cobj::AA()
{
.........................//用到了ATL Collection里面的东西,不用有时能通过
}
改成以下时又能通过:
template <typename T>
class Cobj
{
public:
inline T AA()
{
.........................//用到了ATL Collection里面的东西,不用有时能通过
};
};
arxing
2003-08-02
打赏
举报
回复
这样吧,你自己给我搞一个项目,编译不过的,发到我的信箱chenjx@dhyit.com。不要大,把不必要的东西删去,只要把错误搞出来就行了。
PP_Sky
2003-08-02
打赏
举报
回复
不好意思,贴不了个<T>
不过就算少了个<T> 也不是编译器内部错误吧??!!
to arxing(阿行):
我想你应该知道编译器内部错误和语法错误的区别吧
arxing
2003-08-02
打赏
举报
回复
不要怪编译器了,我试了,都用得好好的。
从这一小段代码看出你的程序一定存在不少问题,只是vs 2002侥幸给你过了。你还是脚踏实地,慢慢来吧。
arxing
2003-08-02
打赏
举报
回复
跟踪调试是对 herosword(南) 说的。
template <typename T>
class Cobj
{
public:
T AA(void);
};
template<typename T>
inline T Cobj::AA()
{
.........................//用到了ATL Collection里面的东西,不用有时能通过
}
本来就错误,正确的语法是:
template<typename T>
inline T Cobj<T>::AA()
{
.........................//用到了ATL Collection里面的东西,不用有时能通过
}
我一直用得挺好。
lygfqy
2003-08-01
打赏
举报
回复
会不会是因为编译选项的关系呢?多找找,应该可以通过的
arxing
2003-08-01
打赏
举报
回复
装好了,试了一下,蛮好,我觉得楼主的问题还是在自身。
PP_Sky
2003-08-01
打赏
举报
回复
to arxing(阿行):
安装2003并不需要2002的盘。
VS上的bug也不是一个两个的事, 只不过编译器上出bug比较少而以
arxing
2003-08-01
打赏
举报
回复
那是你的程序隐藏着缺陷,只是在2002没有表现出来而已。
你碰到问题就应该先采用跟踪调试的方式,没确定之前就不要怪编译器。
herosword
2003-08-01
打赏
举报
回复
我用vs2002编译的com在vs2003中也可以编译和使用,但是用vs2003编译的com用ole/view查看却总是地址冲突报错,但查看2002bian编译的com就没有问题。
怎么回事呀。
arxing
2003-07-30
打赏
举报
回复
我昨天买了.net 2003的盘,但是装不上,7 张盘下面都找不到一些升级必备的文件。原来硬盘上有个.net 2002的安装盘,但是不小心被我搞坏了//.net root/windows updata/step.sdb文件,所以也没法升级。可否提供这个文件给我165546@21cn.com?
我相信不会是vc的bug,一定是别的地方没有做好,理论上只要是语法合适的cpp文件,肯定可以编译。
PP_Sky
2003-07-29
打赏
举报
回复
好像用到template时就很多错
arxing
2003-07-27
打赏
举报
回复
估计是预编译设置的问题。
如果你这个cpp设置为使用预编译,那么你就得把#include "stdafx.h"放在最前面,反过来,如果你不使用预编译,不能包含"stdafx.h"。
firingme
2003-07-27
打赏
举报
回复
http://www.sgi.com/tech/stl/stdlib_20000608.zip
这个包里面是SGI STL with IOStream的版本,2002下面能正常编译
拿到2003下面就有C1001错误,和楼主所述的一样!
RomanticProgrammer
2003-07-27
打赏
举报
回复
gz
PP_Sky
2003-07-27
打赏
举报
回复
我也认为不是预编译的问题。
内部编译器错误
(编译器文件 file,第 number 行)
编译器无法生成正确的构造代码,原因可能是出自表达式与优化选项的组合。尝试移除一个或多个优化选项,并重新编译包含错误信息所指示的行的函数。
以下是MSDN的说明,但问题是我根本就没有开任何的优化选项。
通过移除一个或多个优化选项有可能解决该问题。若要确定哪一个选项出了问题,请一次移除一个选项并重新编译,直到错误信息消失为止。通常最有可能导致此错误的选项有 /Og、/Oi 和 /Oa。确定了哪一个选项是症结所在后,则可以对发生错误的函数使用 optimize 杂注来禁用它,并为模块的其余部分继续使用该选项。
尝试重写报告错误的行或围绕该行周围的若干行。如果这不起作用,请与 Microsoft 产品支持服务联系。
firingme
2003-07-27
打赏
举报
回复
这个C1001的确很头疼的!
我也碰到过很多次这样的情况,代码在其他地方都能正常工作,可是到了VS2003下面,就C1001
我觉得这真是VS2003的一个大BUG
arxing(阿行) 说:
*******************************************************************************
估计是预编译设置的问题。
如果你这个cpp设置为使用预编译,那么你就得把#include "stdafx.h"放在最前面,反过来,
如果你不使用预编译,不能包含"stdafx.h"。
*******************************************************************************
如果是预编译的问题,那么出错信息将不会是C1001,会提示用户预编译不对头。
brave_heart
2003-07-26
打赏
举报
回复
>C1001: 内部编译器错误
It is a bug of Visual Studio.
加载更多回复(3)
Visual
Studio
2010高级编程.pdf
Visual
Studio
2010包含令人振奋的新功能,《
Visual
Studio
2010高级编程》介绍了如何使用这些新功能。本书独一无二 的作者团队讨论了IDE,阐述了
.NET
平台上的许多新技术, 探讨了IDE的每个方面,以及揭秘了特定功能...
用两个摄像头实现,双目标定,双目测距,双目测深度,双目求深度程序v2(基于opencv2.4.9,不需要扩展库)
3.
visual
studio
2013 4.两颗微软HD-3000摄像头 5.i7、集显、16g、sata ps:如果你下载了我之前的代码:http://download.csdn
.net
/detail/hysteric314/9514872, 那这个你就不需要下载了,只需要改
一下
之前的代码 ...
使用
Visual
Studio
2022+
.Net
网站开发
形成了总体认识,就能够更有目的地学习asp
.net
core。本课程将分几个部分来讲解asp
.net
core的方方面面。首先,讲解asp
.net
core的应用模型,细致探讨了MVC模型、控制器和视图部分,并对Razor语法进行了介绍。最后,...
Visual
Studio
.NET
简介
Visual
Studio
.NET
详解 2008-12-08 17:09
Visual
Studio
.NET
简介
Visual
Studio
.NET
是
.NET
平台下最为强大的开发工具,无论是软件服务商,还是企业应用程序的部署与发布,
Visual
Studio
.NET
都可以提供...
Visual
Studio
.NET
2003
的升级功能
编译/天行关键词
Visual
Studio
J# 移动设备 本文介绍了
Visual
Studio
.NET
2003
中对J#支持,对移劝开发的支持,改进的调试以及其它一些功能。无论何时升级一个受欢迎的工具时,都会存在着兼容性、版本以及有关...
ATL
3,245
社区成员
48,537
社区内容
发帖
与我相关
我的任务
ATL
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
复制链接
扫一扫
分享
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章