C语言&C++ 中External dependencies
参考:https://blog.csdn.net/yyyzlf/article/details/4419593
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中显示出来。免得显得乱七八糟的。
C语言&C++ 中External dependencies的更多相关文章
- VC中Source Files, Header Files, Resource Files,External Dependencies的区别
VC中Source Files, Header Files, Resource Files,External Dependencies的区别 区别: Source Files 放源文件(.c..cpp ...
- C语言开发中常见报错的解决方案
C语言开发中常见报错的解决方案 整理来源于网络,侵权请通知删除.*禁止转载 ---- fatal error C1003: error count exceeds number; stopping c ...
- 在R语言环境中无法载入rJava包的解决办法
问题描述: 安装包xlsx包后,运行library("xlsx")后弹出错误窗口: RGui (64-bit): Rgui.exe - 系统错误 无法启动此程序,因为计算机中丢失 ...
- maven中的 dependencies 和 dependencyManagement 的区别
今天我在配置 sellercenter 的接口测试环境的时候,发现一些依赖的写法不太一致: 比如有的依赖的<scope>是写在子项目中的 <dependencies> 下的&l ...
- Cocos2d-x 脚本语言Lua中的面向对象
Cocos2d-x 脚本语言Lua中的面向对象 面向对象不是针对某一门语言,而是一种思想.在面向过程的语言也能够使用面向对象的思想来进行编程. 在Lua中,并没有面向对象的概念存在,没有类的定义和子类 ...
- Swift语言教程中文文档
Swift语言教程中文文档 Swift语言教程(一)基础数据类型 Swift语言教程(二)基础数据类型 Swift语言教程(三)集合类型 Swift语言教程(四) 集合类型 Swift语言教程(五)控 ...
- 如何在不同的语言/平台中获取Android ID
如何在不同的语言/平台中获取Android ID 最近开发工作中需要使用到AndroidID,在Unity和native code中也需要使用,java获取很方便,Unity中也不难,最难的是在nat ...
- C语言(C++语言)中##(两个井号)和#(一个井号)用法[转]
文章来源:http://blog.csdn.net/starboybenben/article/details/49803315 C语言(C++语言)中的宏(Macro)属于编译器预处理的范畴,属于编 ...
- [C] 在 C 语言编程中实现动态数组对象
对于习惯使用高级语言编程的人来说,使用 C 语言编程最头痛的问题之一就是在使用数组需要事先确定数组长度. C 语言本身不提供动态数组这种数据结构,本文将演示如何在 C 语言编程中实现一种对象来作为动态 ...
随机推荐
- CRMEB小程序商城v4.0二次开发对接集成阿里云短信
作者:廖飞 - CRMEB小程序商城研发项目组长 前言 cremb小程序商城v4.0版本支持短信平台为云信,但有部分用户有需求对接阿里云短信,这篇文章将对阿里云短信平台如何对接方以及对接流程详细说明. ...
- vue 组件内的守卫
1.beforeRouteEnter () // 进入该组件之前要去进行的逻辑操作, 2.beforeRouteLeave() // 离开该组件之前要去进行的逻辑操作(可清除定时器等耗用内存的变量, ...
- A Walk Through the Forest (最短路+记忆化搜索)
Jimmy experiences a lot of stress at work these days, especially since his accident made working dif ...
- 状压dp:luogu P2704 [NOI2001]炮兵阵地
https://www.luogu.org/problemnew/show/P2704 知识点:1.滚动数组:取模实现 2.位运算优先级最低 顾是if(!(a&b))而不是if(!a& ...
- linux下部署python项目到jenkins
环境:linux+jenkins+tomcat+git+python3.7 1.安装jdk 上传安装包到usr/local 解压 配置环境变量 vim /etc/profile export JAVA ...
- %s 表示格式化一个对象为字符
比如: name=“good” print('%s'%name)会打印出good print('%3s'%name) 会打印出good,当%和s之间的数字,小于字符串长度时,实际打印出字符串的长度 ...
- [LeetCode]面试题14- I. 剪绳子(DP/贪心)
题目 给你一根长度为 n 的绳子,请把绳子剪成整数长度的 m 段(m.n都是整数,n>1并且m>1),每段绳子的长度记为 k[0],k[1]...k[m] .请问 k[0]k[1]...* ...
- [程序员代码面试指南]字符串问题-回文最少分割数(DP)
问题描述 给定一个字符串,输出把它全部切成回文子串的最小分割数. 例:str="ACDCDCDAD",输出2. 解题思路 DP 存储结构 dp数组dp[len+1],dp[i]表示 ...
- 内存管理初始化源码5:free_area_init_nodes
start_kernel ——> setup_arch ——> arch_mem_init ——> |——> bootmem_init |——> device_tree ...
- windows下nginx的配置
这里做的nginx的配置主要的功能是: 能够用localhost访问本地文件夹中的项目 输入ip地址访问本地文件夹中的项目 反向代理其他地址访问本地文件 1.nginx安装地址 2.解压之后的文件如下 ...