就VS开发环境细节进行探讨

开发 后端
针对刚刚接触VS开发环境的人,新建配置是一个令人很头疼的问题,出现这些问题的最多原因就是就是baseclass无法编译。。

对于就VS开发环境花费了我几个星期的时间,其中的主要问题在于修改代码、修改编译选项使其编译通过网上的参考也不可尽信,经常浪费很多时间和精力,但是最后程序仍没有编译通过,这个很是头疼。

我在 Visual Stdio 6.0,2003,2005,2008 都尝试过了配置 DirectShow,基本可以达到不需要修改代码就可以编译通过。经验就是,要配合 Visual Studio 的版本选择不同的 DirectShow 的版本。一般来说,要选取 比同时期的 Visual Studio 略晚发行的 DirectShow 版本。VS开发环境(我觉得,微软至少要对新发行的 DirectShow SDK 在当前主流的编译环境中测试才对,所以一般这种匹配都是很容易一下子编译通过。#t#

Visual C++ 6.0
陆其明老师的《DirectShow 开发指南》是一本不错的书,使用的环境就是 VC 6.0。按照我刚才的理论,几乎所有的 DirectShow 版本都可以容易的安装在 VC 6 上,因为它太古老了。不过,要是安装最新的 SDK 反而不行,因为 VC 6 的编译器问题很多,对标准支持得也不是很好,所以导致最新的 SDK 无法编译。

陆的书上所用的版本其实是 dx9sdk.exe (2002.12.19),我这里给出的是微软官方的链接VS开发环境(他们把所有的版本都保留了),需要正版验证才能下载(应该不成问题吧...)。
我建议使用 DirectX SDK Summer 2004 版本,这个版本是最后一个整合 DirectShow 的 DirectX SDK版本。

之后微软把 DirectShow 分离出来了,比如需要安装 DirectX SDK April 2005 版本再加上 DirectX SDK February 2005 Extras。也就是说,DirectX 已经不含 DirectShow,这个时候(2005年)它被包含在 Extras 里面。所以安装了 Extras 基本上就可以进行 DirectShow 开发了。

Visual Studio 2003
这个版本建议安装 Summer 2004 这个版本。Extras 也没问题。

Visual Studio 2005
这个版本我用的不是很多,印象中安装 Summer 2004 没问题,甚至更低的 9.0b 也没问题。VS开发环境安装很新的版本就会出现我说的那种太超前反而编译不了的现象。
大概到 2006 年,DirectShow 就被包含在了 Windows Platform SDK 中。不知道最新的 Platform SDK 对 VS2005 支持地如何,我没有去试。之前有一个版本需要修改一些代码才能编译。

Visual Studio 2008
非常简单,VS开发环境最新版的 DirectX SDK June 2008 和 Platform SDK (2006.03.15) 即可。另外,Platform SDK 的后续版本似乎叫 Windows SDK,内含的 Media Foundation 似乎要取代 DirectShow。(Windows SDK for Windows Server 2008 and .NET Framework 3.5 2008.02.05)

进行环境配置
如果 DirectShow 的版本比 VS 要新,则相应的头文件和库文件就会自动配置,否则就要手动添加。如果安装的 DirectShow 比较早,那么在 baseclasses 里面就会有相应的工程文件,打开编译即可。如果安装的是 Platform SDK 就会只有一个 makefile,注意到在安装完 Platform SDK 以后,开始菜单会有一些进入不同编译环境的快捷方式,选一个想编译的版本进入,然后在 baseclasses 下 输入 nmake,就会自动编译了。

还需要注意的就是一些库的引用、编译链接的选项等等,VS开发环境在出现问题的时候搜索就行,一般不是大问题。

责任编辑:chenqingxiang 来源: csdn
相关推荐

2009-12-11 16:39:59

VS 2008 XML

2009-11-27 09:24:29

VS2003命令

2013-07-29 14:23:55

Eclipse开发环境Eclipse开发环境

2011-06-08 17:32:18

QT VS2008 开发环境

2009-12-17 17:08:47

VS开发环境

2009-12-16 11:16:03

VS 2005开发环境

2009-11-25 17:01:33

VS2005图片

2009-12-11 14:16:11

VS2010 Ulti

2019-05-24 09:59:10

VSLinux远程

2009-12-17 13:33:14

VS2005类

2011-08-31 17:58:00

VS.netLUA开发环境

2024-08-29 16:06:26

前端Vue开发

2010-03-01 15:08:36

2010-01-20 11:02:42

C++开发环境

2010-03-12 13:32:02

python2.6

2009-07-17 17:39:35

在NetBeans环境

2011-03-17 17:59:33

云环境中开发

2018-12-04 14:15:29

容器误区开发

2011-06-24 11:25:30

Qt Qt 4.6.2 VS 2005

2009-09-14 13:25:08

LINQ多方面探讨
点赞
收藏

51CTO技术栈公众号