今天把vs2010旗舰版安装上去了。然后直接新建一个基于对话框的项目,没写任何代码直接编译错误。
报的错误如下:c:\program files\microsoft sdks\windows\v7.0a\include\winnt.h(290): error C2146: 语法错误: 缺少“;”(在标识符“PVOID64”的前面)
一看是系统的文件出错。这肯定是配置的问题。在网上找了下,说是include的路径问题,Direct 相关的include应该放在系统的后面。于是在 项目属性页的VC++目录里面调整了顺序为 $(IncludePath);C:\DXSDK\Include;C:\DXSDK\Samples\C++\DirectShow\BaseClasses;C:\DXSDK\Samples\C++\DirectShow\Common;C:\DXSDK\Samples\C++\Common\Include
重新编译问题依旧,干脆把Direct相关的去掉,单留$(IncludePath);问题依旧。
后来发现$(IncludePath)这个宏里面也包含了Direct的include配置,而且是在系统include的前面 。
真受不了微软,于是直接将对$(IncludePath)的引用包含换成去掉Direct后的3项。
$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSdkDir)include;$(FrameworkSDKDir)\include
同时注意把从项目或者父继承的勾去掉。 重新编译一切OK ,做软件的就是这样经常被这些莫名的小问题搞死了 ~~