在VS2013下编译的C ++代码无法在VS2015下编译
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VS2013下编译的C ++代码无法在VS2015下编译相关的知识,希望对你有一定的参考价值。
将大型项目从VS2013(Win7)移动到VS2015(Win10)。 95%的项目是VB .NET,我会很流利,并且转换没有问题。
不幸的是,有两个小的C ++模块,当我尝试编译时会返回大量错误,这些错误似乎是语法上的:
'std::array': too few template arguments<br>
'^':cannot use this indirection on type 'std:array'<br>
left of '->Length' must point to class/struct/union/generic type
编写原始代码的C ++程序员声称C ++已经从VS2013发展到VS2015。我不是C ++人,所以我无法真正回应。他非常忙,并且对更新C ++部分不太感兴趣,建议我们使用VS2013 w / Win10,但我宁愿使用至少2015年,如果不是2017年更长寿命。
任何C ++人都可以对此作出回应吗?我觉得这个问题可能在编译器设置中,但我不确定在哪里看。
答案
如上所述,我不是一名C ++程序员,但是一个小小的谷歌搜索让我摆平了。托管和标准阵列中存在不兼容性。添加
#include stdafx.h
#include <array>
到两个模块并将数组声明更改为cli :: array做了诀窍 - 没有编译器错误并且从VB Net调用C ++ dll返回与早期VS 2013版本相同的结果。
再次感谢那些回复的人。
以上是关于在VS2013下编译的C ++代码无法在VS2015下编译的主要内容,如果未能解决你的问题,请参考以下文章
VS2013运行时总是报错:无法打开文件cv200.lib,该怎么处理
如果 .cshtml 文件中存在 razor/C# 错误,如何在 VS 2013 中使构建失败? [复制]