简体   繁体   English

无法构建-将VC ++代码从VS2010迁移到VS2013

[英]Unable to build - Migrating VC++ code from VS2010 to VS2013

I am trying to migrate my source from VS2010 to VS2013. 我正在尝试将源代码从VS2010迁移到VS2013。 It is giving me sleepless nights. 它使我无法入睡。 I'm getting the below attached compilation error. 我收到以下附件的编译错误。 Please help me out in identifying which compilation switch I'm missing out. 请帮助我确定我错过了哪个编译开关。 I have saved my .sln file from VS2013 to get it adapted to the new environment. 我已经保存了VS2013中的.sln文件,以使其适应新环境。

My current compilation settings are as follows: PlatformToolset: Visual Studio 2013 - Windows XP (v120_xp) Command Line: /Yu"stdafx.h" /FR"DebugU\\" /GS /TP /analyze- /W3 /Zc:wchar_t /I"..\\Common" /Zi /Gm- /Od /Fd".\\DebugU/" /fp:precise /D "_PUGIXML" /D "_DEBUG" /D "_USRDLL" /D "_CRT_SECURE_NO_WARNINGS" /D "_BIND_TO_CURRENT_VCLIBS_VERSION" /D "_VC80_UPGRADE=0x0700" /D "_USING_V110_SDK71_" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX /Zc:forScope /RTC1 /Gd /Oy- /showIncludes /MTd /Fa".\\DebugU/" /EHsc /nologo /Fo".\\DebugU/" /Fp".\\DebugU/xxxxxxxx.pch" 我当前的编译设置如下: PlatformToolset: Visual Studio 2013 - Windows XP (v120_xp) Command Line: /Yu"stdafx.h" /FR"DebugU\\" /GS /TP /analyze- /W3 /Zc:wchar_t /I"..\\Common" /Zi /Gm- /Od /Fd".\\DebugU/" /fp:precise /D "_PUGIXML" /D "_DEBUG" /D "_USRDLL" /D "_CRT_SECURE_NO_WARNINGS" /D "_BIND_TO_CURRENT_VCLIBS_VERSION" /D "_VC80_UPGRADE=0x0700" /D "_USING_V110_SDK71_" /D "_WINDLL" /D "_UNICODE" /D "UNICODE" /errorReport:prompt /WX /Zc:forScope /RTC1 /Gd /Oy- /showIncludes /MTd /Fa".\\DebugU/" /EHsc /nologo /Fo".\\DebugU/" /Fp".\\DebugU/xxxxxxxx.pch"

Compilation Log with "ShowIncludes" 1> pugixml.cpp 1> Note: including file: d:\\vistasonicpoc\\common\\pugixml.hpp 1> Note: including file: d:\\vistasonicpoc\\common\\pugiconfig.hpp 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\exception 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\cstddef 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\yvals.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xkeycheck.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\crtdefs.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\use_ansi.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\initializer_list 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C2159: more than one storage class specified 1> C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421) : see reference to class template instantiation 'std::_Has_result_type<_Ty>' being compiled 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): warning C4042: 'std::plus<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): warning C4042: 'std::minus<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): warning C4042: 'std::multiplies<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): warning C4042: 'std::equal_to<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): warning C4042: 'std::less<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 带有“ ShowIncludes”的编译日志1> pugixml.cpp 1> Note: including file: d:\\vistasonicpoc\\common\\pugixml.hpp 1> Note: including file: d:\\vistasonicpoc\\common\\pugiconfig.hpp 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\exception 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\cstddef 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\yvals.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xkeycheck.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\crtdefs.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\use_ansi.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\initializer_list 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C2159: more than one storage class specified 1> C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421) : see reference to class template instantiation 'std::_Has_result_type<_Ty>' being compiled 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): warning C4042: 'std::plus<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): warning C4042: 'std::minus<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): warning C4042: 'std::multiplies<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): warning C4042: 'std::equal_to<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): warning C4042: 'std::less<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1> pugixml.cpp 1> Note: including file: d:\\vistasonicpoc\\common\\pugixml.hpp 1> Note: including file: d:\\vistasonicpoc\\common\\pugiconfig.hpp 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\exception 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\cstddef 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\yvals.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xkeycheck.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\crtdefs.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\use_ansi.h 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\initializer_list 1> Note: including file: C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C2159: more than one storage class specified 1> C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421) : see reference to class template instantiation 'std::_Has_result_type<_Ty>' being compiled 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xtr1common(421): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): warning C4042: 'std::plus<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(203): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): warning C4042: 'std::minus<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(218): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): warning C4042: 'std::multiplies<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(233): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): warning C4042: 'std::equal_to<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(248): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): error C3557: a function cannot have both a return type and a late-specified return type 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): warning C4042: 'std::less<void>::operator ()' : has bad storage class 1>C:\\Program Files (x86)\\Microsoft Visual Studio 12.0\\VC\\include\\xstddef(263): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int

I had the same problem and found out that the flag /Zc:auto was set to /Zc:auto- and this was causing all the errors. 我遇到了同样的问题,发现标志/Zc:auto设置为/Zc:auto- ,这导致了所有错误。

You don't seem to have it specified in the command line but it could help someone else having the same type of error. 您似乎没有在命令行中指定它,但是它可以帮助其他人遇到相同类型的错误。

Zc:auto 陈竺:汽车

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

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