代码之家  ›  专栏  ›  技术社区  ›  Idan K

VS2005 C++编译器与G/D标志一起崩溃

  •  0
  • Idan K  · 技术社区  · 14 年前

    有一个特定的文件,每当我试图编译它从VS2010与“微软(R)C/C++优化编译器”错误对话框与“不发送”按钮,编译器崩溃。我查看了VS2010调用2005编译器的方式,并注意到与VS2005调用它的方式有一些不同。所以我开始在每次尝试后编译时一个接一个地删除这些差异,一旦我删除了 /Gd 标志,文件编译成功。

    查看编译器文档,这个标志控制调用约定,并将其设置为\uu cdecl,这是默认值。唯一的区别是在VS2005中省略了它,但是VS2010决定将它添加到命令行中,从而导致崩溃。

    有没有人遇到过这个问题,或者知道解决这个问题的方法?我好像想不出办法让VS2010掉下来 /广东

    谢谢。

    1 回复  |  直到 14 年前
        1
  •  1
  •   sbi    14 年前

    假设你有一个很好的理由想和编译器的祖父母一起使用新的IDE(我很好奇!),您可以更改项目“C/C++”配置属性的“高级”分支中的调用约定。
    这个列表框只给了我三个值可供选择,但是当我手动删除文本时,IDE调用编译器而没有任何/Gx开关——至少“Command Line”分支显示了这一点。

    最好将您的问题归结为一个repro案例,并联系MS支持部门。他们可能已经有了解决这个问题的修补程序,如果没有,他们可能能够在相对较短的时间内产生一个。由于他们的软件中的错误而联系支持人员通常是免费的(当编译器崩溃时,而不是发出一条总是编译器错误的有意义的消息)。