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++ 调用了错误版本的vcbuild.exe_C++_Visual Studio_Msbuild_Vcbuild - Fatal编程技术网

C++ 调用了错误版本的vcbuild.exe

C++ 调用了错误版本的vcbuild.exe,c++,visual-studio,msbuild,vcbuild,C++,Visual Studio,Msbuild,Vcbuild,我的系统上安装了几个版本的Visual Studio(2005、2008和2010)。 另外,我还有Visual Studio 2005(8)C++项目(VCPROJ)和与之相关的解决方案(SLN)。当我运行以下命令时 msbuild helloworld.sln 调用版本4.0的msbuild,然后从Visual Studio9.0目录调用vcbuild.exe。这导致了一个错误 vcbuild.exe : error VCBLD0010: Project 'XYZ' requires up

我的系统上安装了几个版本的Visual Studio(2005、2008和2010)。 另外,我还有Visual Studio 2005(8)C++项目(VCPROJ)和与之相关的解决方案(SLN)。当我运行以下命令时

msbuild helloworld.sln
调用版本4.0的msbuild,然后从Visual Studio9.0目录调用vcbuild.exe。这导致了一个错误

vcbuild.exe : error VCBLD0010: Project 'XYZ' requires upgrade. Use'vcbuild /upgrade' or 'devenv /upgrade' to upgrade the project.

在其他系统上,MSBuild 4.0从Visual Studio8目录调用vcbuild.exe,项目成功编译。我不明白为什么在我的系统上vcbuild 9.0调用而不是8.0。有人知道如何解决此问题吗?

从命令行运行Visual Studio生成时,您应该始终在命令行中执行此操作,在该命令行中,您首先从正确版本的VS运行了vcvarsall.bat。Visual Studio安装会将此类命令行的快捷方式放入“开始”菜单。

有一个命令行vcvars.bat,它应该正确设置路径等-它位于层次结构的某个位置(记不起当前位置)-但是如果你运行了正确的版本(对于你想要的vc++来说),它应该会解决这个问题。如果不使用此选项,是否可能在您的环境中硬编码了路径?我需要使用VS 2010的VCVAR。这适用于其他系统,但不适用于我的系统。不,我并没有在环境中硬编码VS2008(9.0)路径。我想你们需要经历比较它们的痛苦。。。看看有什么不同