繁体   English   中英

VS2005 C ++编译器因/ Gd标志而崩溃

[英]VS2005 C++ compiler crashes with the /Gd flag

我试图使用2005编译器在Visual Studio 2010中编译我们的项目,但偶然发现了这个奇怪的错误。

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

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

有没有人遇到过这个问题,或者知道解决这个问题的方法? 我似乎无法找出一种方法,使VS2010从命令行删除/Gd ,即使它是默认设置。 我唯一能找到的就是如何添加参数,而不是删除参数。

谢谢。

假设您有充分的理由要使用新的IDE及其编译器的祖父母(我很好奇!),则可以在项目的“ C / C ++”配置属性的“高级”分支中更改调用约定。
该列表框仅给我三个值可供选择,但是当我手动删除文本时,IDE会在没有任何/ Gx开关的情况下调用编译器-至少这是“命令行”分支显示的内容。

将您的问题归结为一个repro案例,然后联系提供此要求的MS支持,这可能是个好主意。 他们可能已经有针对该问题的修补程序,如果没有,他们可能能够在相对较短的时间内产生一个修补程序。 由于其软件中的错误而与​​支持人员联系通常是免费的(并且当编译器崩溃而不是发出始终是编译器错误的有意义的消息时)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM