VS工程配置中一些常用概念
在看这篇文章之前首先思考几个问题:
1、什么是解决方案?为什么要有解决方案?
2、我想引用的头文件和我的cpp文件不在同一个文件夹,我改怎么办?能直接引用吗?
3、在配置opencv的时候需要配置的那些库目录、包含目录到底是怎么回事?
思考完上述问题,下面对上述问题进行解答,并介绍一些vs在工程配置的时候常用的一些做法和概念。尽量做到知其然,知其所以然。
一、解决方案(solution)与工程(project)
简单的说解决方案就是多个工程的集合。solution存在的目的就是为了各个project之间方便的共享文件和代码库。假设我有多个project都需要用到一个liblinear的代码库,我不要每个项目中都加载这个库。另外,对于大型的工程项目,为了方便代码的管理和阅读,往往将一个solution中的所.cpp和.hpp文件都集中放在一个文件夹中,然后让多个project直接包含这个文件夹即可。下面以caffe工程作为实例,讲解一下caffe的文件管理层次和构造。
下图是caffe的solution:
caffe文件夹下的文件:
这里重点关注文件夹下的include、src、Windows文件夹。