vs2012安装使用

Posted on 2012-12-31 22:32  chenfanyu  阅读(2528)  评论(0编辑  收藏  举报

安装

  1. 官方版本下载地址:

    home: http://msdn.microsoft.com/zh-cn/do-pobrania-msdn.aspx

    英文版: VS2012_ULT_enu.iso http://www.microsoft.com/en-us/download/details.aspx?id=30678

    语言包: 中文: http://www.microsoft.com/zh-cn/download/details.aspx?id=30681

    sdk: Visual Studio 2012 SDK http://www.microsoft.com/en-us/download/details.aspx?id=30668

    msdn版: en_visual_studio_ultimate_2012_x86_dvd_920947.iso http://www.godoone.com/archives/visual-studio-2012-download-sn-msdn.html

    公开下载的是试用版,可以通过输入序列号变成正式版。而MSDN版本内置序列号,是购买的正式版,包含msdn服务,推荐安装msdn版

    安装补丁包: vsupdate_KB2707250.exe

    安装中文包

配置

include-lib 包含目录设置

  1. 路径文件-32位: C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props
  2. 路径文件-64位: C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.x64.user.props 系统缺省已经包含了sdk目录和vc目录,不在需要单独设置sdk目录

    注意所有添加的路径不能以 \ 号结尾,否则会出现资源编辑器打不开的情况

sdk设置

通过宏 $(WindowsSdkDir) 指定SDK安装路径, 宏取值 可通过 property manager 查看

注册表中也有记录当前采用的sdk版本 HKEY_LOCAL_MACHINE\Software\Microsoft\Microsoft SDKs\Windows

具体项目可以设置采用何种工作集(Platform Toolset), 设置后,便采用相应的sdk了, 此时在项目的的vc++ directories 宏展开 可见

  1. sdk 8.0 2012版本自带, 缺省安装目录为 C:\Program Files (x86)\Windows Kits\8.0\
  2. sdk 7.1 独立安装: 缺省安装目录:C:\Program Files\Microsoft SDKs\Windows\v7.1

    主要使用到的目录有 include ,lib , bin, directshow中的 \Samples\Multimedia\DirectShow\BaseClasses

vc 安装目录结构分析:

参考 http://msdn.microsoft.com/en-us/library/x4d2c09s%28VS.80%29.aspx

  1. vc 安装目录, vcvarsall.bat, 分析目标平台, 生成不同体系的代码
  2. 子目录区别:
    1. "x86_amd64: Allows you to create output files for x64. This version of cl.exe runs as a 32-bit process, native on an x86 machine and under WOW64 on a 64-bit Widows operating system."
    2. "amd64: Allows you to create output files for x64. This version of cl.exe runs as a native process on an x64 machine."

directx 2010整合

当前microsoft已经将dierectx集成到window sdk中了,而vs2012缺省自带了sdk8.0, 所以在编译directx程序时要使用新的头文件,否则会出来一系列警告信息

  1. 官方说明
  2. directx2012官方下载地址

directshow整合

directshow早已从directx中拆分出来,放到sdk中,但是vs2010自带的sdk8.0没有包含,如果要用到directshow,在以下目录中

C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\

配置:

  1. 安装directx2010
  2. 配置工程路径,也可以通过修改系统配置文件(xxx.user.props),注意要把系统的放在最前
Include Directories: $(IncludePath);$(DXSDK_DIR)Include
32 为版本: Include Library Directories: $(LibraryPath);$(DXSDK_DIR)Lib\x86
64 为版本: Include Library Directories: $(LibraryPath);$(DXSDK_DIR)Lib\x64

注意: directshow 的在sdk 7.1中,最终如下:
 $(IncludePath);C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses;$(DXSDK_DIR)\Include\;
  1. 修改代码,替换同文件包含关系:
    d3d9x.hd3d9.h
    d3dx10.hd3d10.h
    d3dx11.hd3d11.h

    移除所有 dxgitype.h

问题

64位win7下不能调试64位程序

调试时总是提示

A remote operation is taking longer than expected
远程操作花费的时间比预期长

解决办法:

这是因为64位win7 32位应用程序访问网络可能出错造成的,因为vs2012是win32程序,所以需要重置一下网络

以管理员身份运行命令行,在弹出的窗口中运行如下命令:

  netsh winsock reset catalog
  netsh int ip reset reset.log hit

然后重启机器

e** 资源编辑器不能编辑资源 打开资源编辑器是提示

fatal error RC1107: invalid usage; use RC /? for Help 

解决办法:

在property manager 中 将包含目录(头文件,库文件,bin目录) 的最后一个 \ 号删除, 参考 包含路径设置

找不到符号 __report_rangecheckfailure

error LNK2019: 无法解析的外部符号 __report_rangecheckfailure,该符号在函数 RSAPublicEncrypt 中被引用

解决办法:

采用统一的 sdk toolset,比如: Visual Studio 2012 (v110)

参考 GS

工具栏按钮不能用

vs2012 工具栏按钮都不能使用, 在工具栏上单击右键,可以在工具箱里右键,在弹出菜单中选择“重置工具箱“或”全部显示“