Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.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
Visual studio 如何使用Visual Studio 2010 C++;VisualStudio2008中的工具? 如果可能的话,有人知道如何使用VisualStudio 2008中VisualStudio 2010(编译器/链接器/SDK)装运的完整C++工具集吗? 更改“选项->项目和解决方案->VC++目录”下的所有目录就足够了,还是还有更多?假设我这样做,有什么需要注意的吗?_Visual Studio_Visual Studio 2008_Visual Studio 2010_Visual C++ - Fatal编程技术网

Visual studio 如何使用Visual Studio 2010 C++;VisualStudio2008中的工具? 如果可能的话,有人知道如何使用VisualStudio 2008中VisualStudio 2010(编译器/链接器/SDK)装运的完整C++工具集吗? 更改“选项->项目和解决方案->VC++目录”下的所有目录就足够了,还是还有更多?假设我这样做,有什么需要注意的吗?

Visual studio 如何使用Visual Studio 2010 C++;VisualStudio2008中的工具? 如果可能的话,有人知道如何使用VisualStudio 2008中VisualStudio 2010(编译器/链接器/SDK)装运的完整C++工具集吗? 更改“选项->项目和解决方案->VC++目录”下的所有目录就足够了,还是还有更多?假设我这样做,有什么需要注意的吗?,visual-studio,visual-studio-2008,visual-studio-2010,visual-c++,Visual Studio,Visual Studio 2008,Visual Studio 2010,Visual C++,直到今天,我有点忘记了这个问题,一个朋友说C++0x有多棒。我仍然爱着VS2008,比2010年更爱,2010年是最慢的,所以我决定试一试。 而且,我仍然不敢相信,但只要有最少的黑客攻击,它实际上是有效的 它工作得很好:坐在VS2008之前,你甚至没有注意到它实际上在使用2010工具集。除非你看cl/link的标志。或者不正常,除非你突然能够使用lambdas。到目前为止,我没有发现任何问题。编辑等工作就像以前一样,建筑工程,调试工程,这就是我所需要的 以下是我所做的: 创建一个批处理文件,设

直到今天,我有点忘记了这个问题,一个朋友说C++0x有多棒。我仍然爱着VS2008,比2010年更爱,2010年是最慢的,所以我决定试一试。 而且,我仍然不敢相信,但只要有最少的黑客攻击,它实际上是有效的

它工作得很好:坐在VS2008之前,你甚至没有注意到它实际上在使用2010工具集。除非你看cl/link的标志。或者不正常,除非你突然能够使用lambdas。到目前为止,我没有发现任何问题。编辑等工作就像以前一样,建筑工程,调试工程,这就是我所需要的

以下是我所做的:

  • 创建一个批处理文件,设置环境以与Windows SDK 7.1/VS2010工具集一起使用,但将devenv从VS2008安装中删除。主要是从2010年的setenv.cmd中复制的
  • 现在是脏位:将msobj100.dll、mspdb100.dll、mspdbcore.dll和mspdbsrv.exe复制到2010的VSINSTALLDIR/bin目录中(或者将它们放在您的路径somweher中)。这是必需的,否则cl.exe不起作用,调试也不起作用
  • 使用
    devenv/useev
  • 微笑
这是用于x64机器的批处理文件:

SET PlatformToolset=Windows7.1SDK
SET ToolsVersion=4.0
SET WindowsSDKVersionOverride=v7.1
SET Path32=%ProgramFiles(x86)%
SET "VCINSTALLDIR=%Path32%\Microsoft Visual Studio 10.0\VC\"
SET "VSINSTALLDIR=%Path32%\Microsoft Visual Studio 10.0\"
SET "VCTools=%VCINSTALLDIR%Bin"
SET "VCTools=%VCTools%;%VCTools%\VCPackages;"
SET "VCLibraries=%VCINSTALLDIR%Lib"
SET "VCIncludes=%VCINSTALLDIR%INCLUDE"
SET Path=%FxTools%;%VSTools%;%VCTools%;%SdkTools%;%Path%
SET OSLibraries=%WindowsSdkDir%Lib
SET OSIncludes=%WindowsSdkDir%INCLUDE;%WindowsSdkDir%INCLUDE\gl
SET "LIB=%VCLibraries%;%OSLibraries%;%FxTools%"
SET "LIBPATH=%FxTools%;%VCLibraries%"
SET "INCLUDE=%VCIncludes%;%OSIncludes%"

编辑与/useev组合使用的不是batchfile,还有另一种方法可以实现相同但更直接的功能:VC++目录的设置都保存在文件%APPDATA%/VisualStudio/9.0/VCComponents.dat中。因此,如果您使用原始版本,并将所有出现的$(VCINSTALLDIR)替换为$(ProgramFiles)\Microsoft Visual Studio 10.0\VC\n,它也可以正常工作。

虽然您可能能够实现此功能,但这不太可能是一次非常愉快的体验。VisualStudio 2010为VisualC++提供了多目标支持,因此可以使用它来针对工具集的不同版本进行定位,包括Visual C++ 2008和Visual C++ 2010,但是VisualStudio 2008中没有该特性。即使用VS2008 IDE和新的C++编译器。@ MRC64:我知道请求是什么。正如我在评论开始时所指出的,“您可能能够实现这一点,但这不太可能是一种非常愉快的体验。”然后我建议Visual Studio 2010具有多目标支持,如果您希望同时针对2008和2010编译器,则使用Visual Studio 2010 IDE会容易得多(以及基于MSBuild的vcxproj项目)并使用这两种编译器进行编译。也就是说,我很高兴stijn找到了一个相对简单的解决方案。