资讯

展开

VS工程配置中的一些常用概念

作者:快盘下载 人气:

VS工程配置中一些常用概念
在看这篇文章之前首先思考几个问题;
1、什么是解决方案?为什么要有解决方案?
2、我想引用的头文件和我的cpp文件不在同一个文件夹;我改怎么办?能直接引用吗?
3、在配置opencv的时候需要配置的那些库目录、包含目录到底是怎么回事?

思考完上述问题;下面对上述问题进行解答;并介绍一些vs在工程配置的时候常用的一些做法和概念。尽量做到知其然;知其所以然。

一、解决方案;solution;与工程;project;

简单的说解决方案就是多个工程的集合。solution存在的目的就是为了各个project之间方便的共享文件和代码库。假设我有多个project都需要用到一个liblinear的代码库;我不要每个项目中都加载这个库。另外;对于大型的工程项目;为了方便代码的管理和阅读;往往将一个solution中的所.cpp和.hpp文件都集中放在一个文件夹中;然后让多个project直接包含这个文件夹即可。下面以caffe工程作为实例;讲解一下caffe的文件管理层次和构造。

下图是jsoncpp的solution;
VS工程配置中的一些常用概念

 

二、VS中VC;;目录中各个目录的作用

上图是一般的VS工程需要配置的各个目录。

1、可执行文件目录
搜索可执行文件的目录;对应于环境变量PATH;

2、包含目录
对应于环境变量 INCLUDE
搜索在源代码中引用的包含文件的目录;即头文件的目录。例如#include

3、引用目录
在该窗口中显示的目录设置是 Visual Studio 将搜索在源代码文件中通过 #using 引用的程序集和模块;元数据;文件的目录。对应于环境变量 LIBPATH。

4、库目录
在该窗口中显示的目录设置是 Visual Studio 将搜索库;包括运行时库;的目录。对应于环境变量 LIB。简而言之;这个目录就是寻找.lib文件的目录。
如果设置错误;会link error;提示”找不到XXX.lib”。
另外;该设置不适用于.obj 文件;若要链接到 .obj 文件;请在“链接器”->“常规”属性页中;选择“附加库目录”;然后指定.obj文件的路径。

5、附加依赖项
C;;的库会把函数、类的声明放在.h中;实现放在.cpp或.cc中。编译之后;.cpp;.cc;.c会被打包成一个.lib文件;这样可以保护源代码。所以;要使用一个库;除了要include他的头文件以外;还要在链接过程中把lib加进去。这个就是在附加链接库中设置。

6、有了库目录为何还要附加依赖项?
库目录只是查找目录;而我们具体使用哪一个.lib需要指明的;如果不在附加依赖项里填上;就需要在代码里用#pragma comment;lib, “xxx.lib”;来手动指定了。写代码读写一个文件需要写明文件名;这个文件名就相当于那个lib , 但读写这个文件可以不写全路径;这是因为有库目录的存在。

 

参考;VS工程配置中的一些常用概念_autocyz的博客-CSDN博客

VS中目录含义_*小呆的博客-CSDN博客_vs可执行文件目录

谢谢作者;仅以此记录;

加载全部内容

相关教程
猜你喜欢
用户评论
快盘暂不提供评论功能!