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时,则不会输出。
VC Q&A (原创)的更多相关文章
- [FlyCapture2] Bumblebee XB3 Save Images to Three AVI Files (Left, Center and Right) 大黄蜂立体相机保存捕获的视频到左中右三个不同的文件
PointGreyResearch是世界领先的致力于开发高级数字相机产品的公司.PointGrey产品涉及IEEE-1394相机.立体视觉相机和360度全景数字视频相机.其中二代和三代的大黄蜂立体相机 ...
- IGS_学习笔记03_Integrated SOA Gateway设定配置(案例)
20150506 Created By BaoXinjian
- [BZOJ3693]圆桌会议[霍尔定理+线段树]
题意 题目链接 分析 又是一个二分图匹配的问题,考虑霍尔定理. 根据套路我们知道只需要检查 "区间的并是一段连续的区间" 这些子集. 首先将环倍长.考虑枚举答案的区间并的右端点 \ ...
- [CF983D]Arkady and Rectangles[线段树+可删堆/set]
题意 你有一个无限大的绘图板,开始颜色是\(0\) , 你将进行\(n\) 次绘图,第\(i\) 次绘图会将左下角为 \((x_1, y_1)\),右上角为\((x_2, y_2)\) 的矩形涂成颜色 ...
- cocos2dx lua 热加载实现
[Q]原创 2015-08-30 在公司使用cocos2dx+lua 开发游戏有一段时间了,刚好lua的热更新交给我负责.以前热更新的lua脚本大部分都是在下载之后加载.最近策划又有新需求,需要在游戏 ...
- Struts2+DAO层实现实例01——搭建Struts2基本框架
实例内容 利用Strust2实现一个登陆+注册功能的登陆系统. 实现基础流程:
- 应用安全-web安全-WebShell整理
shellcode.aspx <%@ Page Language="C#" AutoEventWireup="true" Inherits="S ...
- HTML5 3D 粒子波浪动画特效DEMO演示
需要thress.js插件: http://github.com/mrdoob/three.js // three.js - http://github.com/mrdoob/three.js ...
- 圆桌问题(hdu4841)
圆桌问题 Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 65535/32768 K (Java/Others) Total Submi ...
随机推荐
- (LeetCode)两个链表的第一个公共节点
LeetCode上面的题目例如以下: Write a program to find the node at which the intersection of two singly linked l ...
- scrapy递归抓取网页数据
scrapy spider的parse方法能够返回两种值:BaseItem.或者Request.通过Request能够实现递归抓取. 假设要抓取的数据在当前页,能够直接解析返回item(代码中带**凝 ...
- 宜人贷PaaS数据服务平台Genie:技术架构及功能
上篇:架构及组件 一.数据平台的发展 1.1 背景介绍 随着数据时代的到来,数据量和数据复杂度的增加推动了数据工程领域的快速发展.为了满足各类数据获取/计算等需求,业内涌现出了诸多解决方案.但大部分方 ...
- 循序渐进学Python 1 安装与入门
1 安装 2 使用 2.1 运行程序 3 艺搜参考 by 2013年10月16日 安装 Windows安装版,源码,帮助文档: 使用 打开开始菜单中的Python GUI启动Python解释器: 启动 ...
- 利用GROUP_CONCAT函数把相同信息的合并到同一个字段中
SELECT a.*,GROUP_CONCAT(b.pri_name) FROM sh_role a LEFT JOIN sh_privilege b ON FIND_IN_SET(b.id,a.pr ...
- TP 接收post请求使用框架自带函数I()防止注入
<input id="dele_id[]" value="1" type="checkbox" /> <input id= ...
- yii2学习笔记
之前看过Yii2框架,也在其他框架实现其Gii手脚架功能,现在开始使用Yii做项目,顺便记录一下学习笔记 先推荐一个网址 Yii2速查表(中文版)http://nai8.me/tool-sc.html ...
- Java线程:概念及原理
线程是执行的程序中的一个线程. Java虚拟机允许应用程序必须同时运行多个执行线程. 每个线程都有一个优先事项.具有更高优先级的线程优先于线程的优先级较低的执行.每个线程可能会或可能不会也被标记为一个 ...
- Android数据格式化
1.文件大小格式化: Log.d(TAG, Formatter.formatFileSize(this, 100)); //100 B Log.d(TAG, Formatter.formatFileS ...
- 怎样拆分View Controller进而实现轻量级的View Controller[UIKit]
參考文章来自objcio站点 为什么要编写轻量级的View Controller?? 1.作为iOS项目中最大的文件,ViewControllers中的代码复用率差点儿是最低的 2.重量级的V ...