【转载】VS2012安装及调试问题
2013-03-21 01:23 码农路上 阅读(1245) 评论(0) 收藏 举报原文链接:http://www.cnblogs.com/chenfanyu/archive/2012/12/31/2841160.html
目录:
1 安装
2 配置
2.1 include-lib包含目录设置
2.2 sdk设置
2.3 vc 安装目录结构分析:
2.4 directx 2010整合
2.4.1 directshow整合
2.4.2 配置:
3 问题
3.1 64位win7下不能调试64位程序
安装:
官方版本下载地址:
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包含目录设置
路径文件-32位: C:\Users\Administrator\AppData\Local\Microsoft\MSBuild\v4.0\Microsoft.Cpp.Win32.user.props
路径文件-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 宏展开 可见
sdk 8.0 2012版本自带, 缺省安装目录为 C:\Program Files (x86)\Windows Kits\8.0\
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
vc 安装目录, vcvarsall.bat, 分析目标平台, 生成不同体系的代码
子目录区别:
"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."
"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程序时要使用新的头文件,否则会出来一系列警告信息
官方说明
directx2012官方下载地址
directshow整合directshow早已从directx中拆分出来,放到sdk中,但是vs2010自带的sdk8.0没有包含,如果要用到directshow,在以下目录中
C:\Program Files\Microsoft SDKs\Windows\v7.1\Samples\multimedia\directshow\baseclasses\
配置:
安装directx2010
配置工程路径,也可以通过修改系统配置文件(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\;
修改代码,替换同文件包含关系:
d3d9x.h d3d9.h
d3dx10.h d3d10.h
d3dx11.h d3d11.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
然后重启机器(不重启问题也没啥问题)
这个问题困扰我好久,在此转载分享给和我有同样困扰的朋友,同时也真挚感谢原文作者:chenfanyu