本文主要是一些有关 vs 的使用经验
项目结构
使用vs创建空项目
test
,注意不要勾选将解决方案和项目放在统一目录中
空项目的目录结构如下所示:
- 在test目录之下有一个
test.sln
文件,是整个项目的解决方案 - 除去
test.sln
文件,有一个默认名为test
的解决方案(单独的一个文件夹,在vs中,一个项目可以有多个解决方案) - 在
test
解决方案文件夹下有三个vs配置文件 - 一般对于每一个单独的解决方案,我喜欢新建一个名为
src
的文件夹,将所有的源代码都放入其中,如下所示:
- 在test目录之下有一个
尝试编译整个项目
- 再次查看目录结构
- 编译产物路径有两个,入上图所示的两个
Debug
目录- 第一个
Debug
目录中存放可执行文件(.exe) - 第二个
Debug
目录中存放中间产物(.obj等等)
- 第一个
- 编译产物路径有两个,入上图所示的两个
- 默认的上述路径很奇怪,不方便管理,我一般将他们放到
.sln
同级别目录下的bin
中 - 需要的设置如下所示:
- 按照如下进行设置
输出目录
和中间目录
的设置如下:1
2
3
4
5# 输出目录
$(SolutionDir)bin\$(Platform)\$(Configuration)\
# 中间目录
$(SolutionDir)bin\inetrmediates\$(Platform)\$(Configuration)\- $(SolutionDir) 就是指
.sln
文件所在的目录 - $(Platform) 会根据编译时的平台(x86,x64)而改变
- $(Configuration) 是一些配置(Debug/Release)
- $(SolutionDir) 就是指
- 设置完毕之后,删除原先的两个
Debug目录
,重新编译一次,目录结果如下:
- 按照上述操作重新编译之后,解决方案的编译产物全在
bin
目录之下
- 再次查看目录结构
第三方依赖
当我们需要使用第三方库的时候,可行的方案有:
- 源文件
- 静态链接(lib)
- 动态链接(dll/so)
对于这些第三方依赖,我一般将其放到
.sln文件
所在目录的同级目录dep
之下这个时候无论使用上述三种方法中的哪一种,都需要导入相应的文件(头文件)
导入源文件
- 以导入源文件为例子来讲解,我在
dep
目录之下导入了一个args
文件夹,我现在需要去使用该文件夹中的源文件 - 首先来看目录结构:
- 接下来进行设置,打开解决方案的设置,并且按照如下进行设置:
- 这样就可以在我的
main.cpp
中使用该文件了- 上述
main.cpp
中导入了args.hxx
,并且没有报错,可以正常使用
- 上述