VS 2013 c++ 头文件引用

一、VS配置属性中,VC++目录 与 c/c++ 的包含目录有什么不同

VC++目录 与 链接器 中的附加库目录有什么不同? “VC++目录” 与“ c/c++ ”都有包含目录,这两个包含目录有什么区别?“VC++目录” 与 “链接器” 中都有“库目录”又有什么区别?

1 VC++目录一般包括 头文件目录、库文件目录、引用目录等,所引用的是公共库得目录比如SDK、system32下的平台组件库,这是一个集合形式,当然也可以添加私有的头文件目录、库文件目录(静态库)、引用目录(动态库)。
2 链接器 中的附加库目一般是指静态库文件,一般用来做私有动态链接库(dll)隐式调用的导出文件的引用。一般C++私有动态链接库生成的时候,有三个文件需要提供给调用者头文件(*.h)、动态链接库文件(*.dll)、静态链接库文件(*.lib)这个静态库文件不是真正的静态库文件包含全部的程序,他只是一个导出文件仅包含导出的符号的说明。

3 当VC++目录中的公共库之间发生冲突时,一般是个别几个库文件,可以通过链接器 中的忽略默认库,再附加想要使用的公共库来消除二义性。

二、VS2012项目属性页附加包含目录中的宏路径名EngineRoot是在哪里定义的?
怎么查看这个宏的定义?
还有怎么创建自己的路径宏呢?





三、关于筛选或者说项目文件夹

使用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文件版本冲突造成的)手动修改。


  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值