Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
共享一个C++;VisualStudio2010和11之间的解决方案 我和我的合作伙伴都通过SuffEng.共享一个C++解决方案。_C++_Visual Studio - Fatal编程技术网

共享一个C++;VisualStudio2010和11之间的解决方案 我和我的合作伙伴都通过SuffEng.共享一个C++解决方案。

共享一个C++;VisualStudio2010和11之间的解决方案 我和我的合作伙伴都通过SuffEng.共享一个C++解决方案。,c++,visual-studio,C++,Visual Studio,他使用的是Visual Studio 11,我使用的是Visual Studio 2010 在他第一次提交和我更新后,我得到以下错误: 错误31错误MSB8008:指定的平台工具集(v110)未安装或无效。请确保选择了支持的PlatformToolset值。 此外,在头文件中,我在#include上遇到以下错误: 错误:无法打开源文件“stdio.h” 我猜这是一个兼容性问题。如何解决此问题?.sln和.vcxproj文件保存在Visual Studio 11中,与VS2010不向后兼容。即使它

他使用的是Visual Studio 11,我使用的是Visual Studio 2010

在他第一次提交和我更新后,我得到以下错误:

错误31错误MSB8008:指定的平台工具集(v110)未安装或无效。请确保选择了支持的PlatformToolset值。

此外,在头文件中,我在
#include
上遇到以下错误:

错误:无法打开源文件“stdio.h”


我猜这是一个兼容性问题。如何解决此问题?

.sln和.vcxproj文件保存在Visual Studio 11中,与VS2010不向后兼容。即使它们是兼容的,最终您也会遇到一段可以在VS11中编译但在VS10中无法编译的代码


最好的(可能也是唯一的)方法是同意使用完全相同的开发环境。

在Visual Studio 11中,有一个属性选项允许您指定平台工具集

如果从Visual Studio 11开始创建新项目,则默认情况下将使用平台工具集v110,但如果可以将其更改为Visual Studio 2010使用的v100,则会使用该工具集


讨论有点晚,但由于您使用的是源代码管理,因此可以从存储库中删除项目和解决方案文件,只需共享源代码即可。显然,如果向项目中添加新模块等,则必须在其他解决方案中手动添加它们,但至少不必担心这种不兼容性。如果您想深入了解它,可以从命令行使用编译器和链接器开关构建应用程序,这两个开关在版本之间的兼容性要高得多。最后,您可以使用另一个构建工具(除了MSBuild),该工具在studio版本之间保持兼容

如果您决定移除解决方案和项目文件,需要考虑的是将原始YouApp.SLN的副本保存为您的App.Snn.2010。然后,您就可以从中获得未来解决方案的种子,但项目和解决方案的更新都需要从VS2010中完成,然后将文件复制到其.2010版本并手动维护


如果SVN支持修补程序,或者如果您愿意在外部运行Cotton(或者如果您切换到mercurial,您可以使用MQ扩展),则可以创建修补程序文件以从2010年转换到2011年,并删除升级修补程序同步之前。

Drake的解决方案对我不起作用,因为解决方案中所有项目的属性都已正确设置为v100。但是,解决方案是清理构建并删除所有其他非源文件或项目文件的文件。我认为可能是删除了修复它的文件
projname.vcxproj.user
,因为可能工具链首选项在用户首选项中被覆盖了。

您应该使用类似CMake的东西,并为所需的VS版本生成自己的解决方案当您第一次在VC++2012中打开现有的2010项目时,它将“有帮助地”将平台工具集设置为v110。这就是我如何在Stackoverflow上获得这个Q和A的原因——试图弄清楚VC++2012如何打破我的项目,尽管宣传“无缝往返”。“错误消息只告诉我指定正确的平台工具集,而没有给出任何关于这意味着什么或如何指定它的指示。当然,微软的文档是无用的。但谷歌搜索GoodOldDuckDuckGo.com并点击Stackoverflow点击拯救了这一天。谁知道有些往返有接缝?在任何情况下,平台工具集项都会显示在VS 2010下,将其设置回v100效果很好。请注意,将其设置回v100需要安装VS2010。据我所知,如果您运行自动更新,Microsoft会修补VC2010,以便它和VC2012使用相同的格式。我现在在VC++2010中看到了“平台工具集”,我不记得以前在那里见过它。