前言
项目概念:在 Visual Studio 中创建应用或网站时,请从项目开始。 从逻辑上讲,项目包含所有编译为可执行文件、库或网站的文件。 这些文件可以包括源代码、图标、图像、数据文件等。 项目还包含编译器设置以及程序将与之通信的各种服务或组件需要的其他配置文件
解决方案概念:项目包含在解决方案中。 尽管其名称如此,但解决方案并不是“答案”。 解决方案只是一个容器,用于包含一个或多个相关项目,以及生成信息、Visual Studio 窗口设置和不与特定项目关联的任何杂项文件。
解决方案由格式唯一的文本文件(扩展名 .sln)描述;不应对其进行手动编辑
一个解决方案有唯一的一个sln文件。一个解决方案可以有多个项目。在当前负责的工程,有25个项目构成,可以说是25个模块。工程中的项目可以是一个静态库,动态库,或者是一个可执行程序。在本文章中,并不像其他的小型工程拷贝一些库的源码,直接添加到工程中,而是作为一个项目,添加到工程中,并且通过设置项目的依赖项,完成工程的单步调试(选择属性,C/C++ 优化 禁用优化)。解决方案配置成Release,好处在于调用一个Release版本的第三方dll,能够无缝的运行。(本文没有涉及到讨论显式动态加载dll)
例如study,在study下新建5个文件夹,包括
1)commoncode存放通用的,方便使用的,封装的代码(公用代码存放)
2)devicesdk第三方厂商提供的sdk(第三方库)
3)openlibrary开源库(常用库)
4)project保存每一个解决方案(项目文件和方案)
5)publish保存解决方案的输出(输出保存)
注意:在openlibrary开源库中要有boost库,其中包含include 、lib两个文件夹和boost.pri
二、打开VScode 新建项目路径选择第一个步骤的study/project
三、菜单栏选择项目->属性
1、首先检查配置管理器是不是Debug 平台Win32 x86的
2、配置属性->调试->命令
改成当前新建新建项目输出的exe
例如:..\..\..\publish\studyboost\debug\testboostthread.exe
3、C/C++ ->附加包含目录
改成当前文件包含目录
例如:..\..\..\openlibrary\boost\include
4、链接器->输出文件
改成当前新建新建项目输出的exe
例如:..\..\..\publish\studyboost\debug\testboostthread.exe
->附加库目录
改成当前文件包含目录
例如:..\..\..\openlibrary\boost\lib
->输入->附加依赖项
项目编译完后一般不会缺少,编译不成功是缺少再添加依赖项,在..\..\..\openlibrary\boost\lib中
按照提示写入缺少的项,要输入全称
例如:libboost_thread-vc140-mt-gd-1_64.lib
一个解决方案有很多工程
但是只有一个设置为启动项目
相对路径都是针对studyboost.vcxproj所在的路径
.\是当前路径
..\退出到父节点说明
大型工程会进行如下的设定:
1)每一个C++项目都有自己的命名空间,除了添加的C库
2)文件名小写,声明前缀,std等等规定