virtual memory range for PCH exceeded

questioninging 2009-11-27 08:26:28
原来在vs2003里面编译通过的程序,放在vs2005中,编译出现virtual memory range for PCH exceeded;please recompile with a command line option of “-Zm118" or greater,这样的错误,而且错误是出现在map文件中,我找了一下,这个文件不是我的程序的,而是vs2005的安装文件里面的,可能是include里面的。按照它说的,在项目属性->c\C++命令行里面加了-Zm118,甚至更大的值了,但是还是出现这个错误。哪位高手帮我解决一下.
...全文
420 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
jackyjkchen 2009-11-28
  • 打赏
  • 举报
回复
注意crt库,你调用的要和自己主程序的统一,全动态或全静态
questioninging 2009-11-28
  • 打赏
  • 举报
回复
谢谢大家。问题解决了,最终还是用-Zm118解决了。
但是又出现了新的问题(一个库跟msvcprt.lib中的什么东西重定义,my god,不知有人遇到过没,有知道怎么解决的吗),看来vs2003写的程序放到vs2005里面是很麻烦的。诶。。。
arong1234 2009-11-27
  • 打赏
  • 举报
回复
把所有std的东西都从stdafx中删除,模板应该是动态实例化成类的,没有任何道理把他们放在预编译头
questioninging 2009-11-27
  • 打赏
  • 举报
回复
我在那个里面加了-Zm118了,也把中间文件删了,还是同样的错误。
错误代码在map文件中
pragma warning(push,3)
#endif /* _MSC_VER */

_STD_BEGIN

// TEMPLATE CLASS _Tmap_traits
template<class _Kty, // key type
class _Ty, // mapped type
class _Pr, // comparator predicate type
class _Alloc, // actual allocator type (should be value allocator)
bool _Mfl> // true if multiple equivalent keys are permitted
class _Tmap_traits
: public _Container_base
{ // traits required to make _Tree behave like a map
public:
typedef _Kty key_type;
typedef pair<const _Kty, _Ty> value_type;
typedef _Pr key_compare;
typedef typename _Alloc::template rebind<value_type>::other
allocator_type;
typedef _POINTER_X(value_type, allocator_type) _ITptr;
typedef _REFERENCE_X(value_type, allocator_type) _IReft;
enum
{ // make multi parameter visible as an enum constant
_Multi = _Mfl};

_Tmap_traits()
: comp()
{ // construct with default comparator
}

_Tmap_traits(_Pr _Parg)//这个地方出现错误
: comp(_Parg)
{ // construct with specified comparator
}

class value_compare
: public binary_function<value_type, value_type, bool>
{ // functor for comparing two element values
friend class _Tmap_traits<_Kty, _Ty, _Pr, _Alloc, _Mfl>;
ahao 2009-11-27
  • 打赏
  • 举报
回复
这个不一定是118的,编译器会根据需要量提示的,改成这个数字应该就够了
arong1234 2009-11-27
  • 打赏
  • 举报
回复
他的PCH用量大于118了:)
[Quote=引用 4 楼 ahao 的回复:]
这问题我经常碰到,不过加上-Zm118就应该可以了啊

[/Quote]
ahao 2009-11-27
  • 打赏
  • 举报
回复
这问题我经常碰到,不过加上-Zm118就应该可以了啊
arong1234 2009-11-27
  • 打赏
  • 举报
回复
从错误现象看,应该是你预编译头太大导致,不要在stdafx.h中包含太多东西
jackyjkchen 2009-11-27
  • 打赏
  • 举报
回复
pch文件删掉了么,别告诉我原来Vs2003工程的中间文件还在
arong1234 2009-11-27
  • 打赏
  • 举报
回复
它前面那个错误码很重要,不要仅仅贴文字

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧