VC Q&A (原创)
Q1:External Dependencies有什么作用?
A1:(网友答复:)External Dependencies是说你没有把这个文件加入到这个工程中,但是需要这个文件的支持。当然有时是误操作。比如你从工程里面删除了abc.h但是在其中一个文件中用#include包含了这个文件,那么,abc.h就会进入External Dependencies中。
.cpp文件比必须加到工程的Source Files中,否则编译link时候总是出错。而加进去就没有问题。
.h则可以不加,如果不加的话,会自动到External Dependencies中。好像所有的.h文件都不必加到Header Files文件夹下面。包括Resource.h这个头文件,不过这个头文件在编译链接的过程中也并不加到External Dependencies里面。还有就是Dlg.h(主对话框及子对话框)也同样不需要加到Head Files中。
针对Source Files里面的文件来说,.rc文件可以不用加,这样Compile,Link也没错,其他的.cpp文件必须都得加上的。
总的来说一句话:
工程中包含的头文件、库文件,若不在当前目录下,就会放在external Dependencies下。
Source Files 放源文件(.c、.cpp)程序的实现代码全放在这里
Header Files 放头文件(.h)声明放在这里
Resource Files 资源文件(.rc)放图标、图片、菜单、文字之类的,主要用来做界面的东东一般都放这里
External Dependencies 除上三种以外的,程序编译时用到的文件全放这里.
我刚查了下相关资料,告诉你它如何将某个文件(如PROTOCOL.H)添加到它的下面:
在工程目录下再建一个目录,比如目录名为additional
Project->Setting->C/c++
选择Catalog为Preprocessor,在Additional Include Directory 里面加入刚才建的目录名
即additional就可以了,这样在该目录下的文件,然后你在工程中编译程序,改头文件就会出现在External Dependencies目录里面。
另外补充一点:
还可以讲*.lib文件放到我们自己所建立的文件夹比如additional里,然后再对工程进行设置,其步骤如下:
Project->Setting->Link-选择Category为Input,在Additional Linbrary path里填入你所建立的文件夹即additional即可,然后对程序进行编译程序即可找到我们的库文件*.lib了。
这样做的好处是可以把我们的头文件和库文件一起放在一个我们所建立的文件夹中,方便管理。而且头文件中所声明的类也不会在Workplace中的Class View中显示出来。免得显得乱七八糟的。
(我的补充:)有的时候,头文件如果莫名其妙的被放在了External Dependencies中,却又删不掉,有对工程造成了困扰,比如一个函数的声明在两个文件中,其中一个文件就在External Dependencies里,这个时候,把这个文件拖拽到Source文件夹中,就可以删了。
Q2:Debug 和 Release 工程区别
A2:简要来说,就是诊断宏不一样。举例来说,opencv工程debug时,就会在控制台输出内存分配的情况,release时,则不会输出。
最新文章
- POJ 3233Matrix Power Series
- 关于MySQL 的LEFT JOIN ON的问题
- 【uTenux】学习一个嵌入式操作系统-uTenux
- js处理用户输入的银行卡号实现四位一段,并且只能输入数字
- 如何在windows下安装python第三方包
- destoon使用中的一些心得
- Input文本框属性及js
- Android开发从GC root分析内存泄漏
- springboot- logback 可切换不同环境
- 自动化脚本测试,postman使用沉淀
- Linux系统安装笔记
- python selenium-webdriver 元素操作之鼠标操作(四)
- 12.scrapy框架
- SQL SERVER查询的临时文件路径
- 使用itext生成pdf的,各种布局
- 【loj3056】【hnoi2019】多边形
- 史上最详细的JavaScript事件使用指南
- linux内核中宏likely和unlikely到底做了些什么?
- SQL Server 2014 新特性——内存数据库(转载)
- 玩转X-CTR100 l STM32F4 l 基础例程printf、LED、蜂鸣器、拨码开关、位带操作
热门文章
- 【转载】viewState详解
- Android 开源项目精选
- substring,subsequence,charAt执行效率的不同
- Spark Streaming和Kafka整合开发指南(一)
- IOS --支付宝SDK 分解讲解
- springcloud微服务实战--笔记--1、基础知识
- Linq Group By 多个字段
- 【C#图解】PictureBox.SizeMode 属性(转)
- Magnetic Fingerprinting Approach to Indoor Localization
- php加速器: xcache