关闭

vs2010 筛选器(filter)

1080人阅读 评论(0) 收藏 举报
分类:

转自:http://my.oschina.net/ypimgt/blog/185793

vs2010 筛选器(filter)

 

使用vs2010开发项目时,有时源码文件过多,想按功能进行分类管理,这个时候就可以使用“筛选器(filter)”。


添加筛选器很简单,在项目上右键单击,选择“添加 | 新建筛选器”,然后命名就可以了。之后向筛选器中添加文件。创建筛选器之后,要注意工程目录下的“*.filters”文件一定不能删掉,因为这个文件就是用来记录筛选器的。

还有一个问题就是,有时候不但希望在vs2010 IDE里面,分类管理文件。还希望这些源码文件在实际的物理存储上,也按照筛选器同样的文件夹层次进行存放。这样也可以,比如在工程目录下新建一个DirectShow文件夹,然后按层次创建其子文件夹。不同功能的源码依据功能分别放在不同的子文件夹里面。然后按照实际文件夹的目录层次,一级一级创建筛选器,最后在每一级筛选器中添加相应的文件即可。

这样有一个问题就是头文件包含麻烦了,可能某个文件需要include的头文件,在另一个子文件夹里面。这个时候就需要在include的时候,使用“..\(上级目录)Utilities\CMsgStation.h”、“.\(当前目录)DirectShow\Device\CVideoDevices.h”等等。这样比较麻烦,有一个解决方法就是添加工程的“包含(include)目录”,比如设置为:$(ProjectDir)XXX,其中$(ProjectDir)是vc编译器的预定义宏,代表当前工程目录。这样include XXX目录下的头文件yyy.h时,就可以直接include “yyy.h”了。


补充:为什么项目下已有的筛选器消失了,造成项目下的头文件、源文件、资源文件等混在了一起?

解决:出现此类问题是ProjectName.vcxproj.filters文件出现了异常,可以删除此文件,然后选择一个可靠的文件副本替换。

           当此文件中出现非法信息时并不会引起程序异常,所以不易察觉,有时候SVN服务器上的版本就有可能出现此类问题,一般通过SVN的diff功能查看该文件内容,并将异常部分(一般是SVN文件版本冲突造成的)手动修改。

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:406881次
    • 积分:6939
    • 等级:
    • 排名:第3771名
    • 原创:219篇
    • 转载:381篇
    • 译文:0篇
    • 评论:8条