在Windows7和Visual Studio 2010中编译DirectShow的例程AMCap的问题

在将AMCap转换为VS2010项目时,可能会遇到如下错误提示:


error C1189: #error :  This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.


翻了很多帖子都没有很好的解决,遂决定自己解决试试


之前的方法不能解决在于AMCap例程已经提前定义了_WIN32_WINNT和WINVER的宏,我们再定义一遍也不能将其覆盖掉,所以要找到AMCap例程在哪里定义的,然后将它改掉,应该是在项目属性中的预处理器中定义的,即“项目--->属性--->C/C++--->预处理器”,将其中定义的值由

_WINDOWS
WINVER=0x0400
DEBUG
WIN32
_DEBUG
_WIN32_WINNT=0x400

改为

_WINDOWS
WINVER=0x0601

DEBUG
WIN32
_DEBUG
_WIN32_WINNT=0x0601

注意:我这里使用的是Debug版本和Release版本,没有用Debug Unicode和Release Unicode版本


在我这里问题得到了解决

你可能感兴趣的:(在Windows7和Visual Studio 2010中编译DirectShow的例程AMCap的问题)