新建目录结构如下:
- output:存储可执行文件.exe等
- src:存储源码.cpp .h等
- 3rdparty:存储第三方库 opencv等

其中将源码按照main及其相关文件分为以下三类

vs2015许可证到期后先激活,激活码很多网上有,如:HMGNV-WCYXV-X7G9W-YCX63-B98R2
新建项目解决方案


RealSenseSR300解决方案中自带一个RealSenseSR300项目,解决方案只有一个,但是可能有很多项目(每个main函数及相关文件统称为一个项目,像源码中generatePLY.cpp Socket.cpp 和Socket20200403.cpp每个文件都有一个main函数所以应该建三个项目 这样在生成解决方案时可以每个项目分开编译)
在解决方案新建项目



把原始的RealSenseSR300项目重命名为Socket
解决方案如下,包含了三个项目:

对每个项目新增现有项cpp文件(如果有h文件请在头文件目录下新增)
选择对应项目名称的src子文件夹中的cpp文件

新增完文件的项目如下

修改调试模式为Release x64

右键点击Socket项目-属性,修改exe输出路径

选中后点击编辑,输出路径由宏定义,但是可以显示绝对路径。
默认宏为:$ (SolutionDir)$(Configuration)
路径为:D:\RealSenseSR300\RealSenseSR300\Debug

修改到输出output\Socket文件夹,同时修改调试配置为Release x64 点击应用后确定。这个路径也使用了宏,这样后续在编译的时候可根据不同的调试模式在不同的子文件夹结构下生成exe文件

另外两个项目做类似修改


首先编译Socket
简单看了下源码发现,我们需要opencv和realsenseSDK。对于第三方库,VS需要配置项目的包含目录(include)、库目录(lib)和附加依赖项(.lib文件)
先搞定realsenseSDK链接
右键Socket项目属性-VC++目录-包含目录-编辑,新增realsenseSDK包含目录:C:\Program Files (x86)\Intel RealSense SDK 2.0\include

点击应用后确定
右键Socket项目属性-VC++目录-库目录-编辑,新增realsenseSDK库目录:C:\Program Files (x86)\Intel RealSense SDK 2.0\lib\x64

点击应用后确定
右键Socket项目属性-链接器-输入-附加依赖项-编辑,新增realsenseSDK库文件:realsense2.lib
点击确定应用后确定
再搞定opencv链接
由于我们不需要对opencv源码进行改动,直接下载编译好的包即可
下载地址:https://opencv.org/releases/
下载这个(直接下载最新版就行 因为向下兼容)

下载完成放在D:\RealSenseSR300\3rdparty\opencv 之后安装exe,提取到:D:\RealSenseSR300\3rdparty\opencv\setup
现在setup的目录如下:

右键Socket项目属性-VC++目录-包含目录-编辑,新增opencv包含目录:D:\RealSenseSR300\3rdparty\opencv\setup\opencv\build\include

点击应用后确定
右键Socket项目属性-VC++目录-库目录-编辑,新增opencv库目录:D:\RealSenseSR300\3rdparty\opencv\setup\opencv\build\x64\vc16\lib

点击应用后确定
右键Socket项目属性-链接器-输入-附加依赖项-编辑,新增opencv库文件:opencv_world490.lib opencv_world490d.lib

点击确定应用后确定
右键Socket项目-重新生成 编译项目 编译通过 但是会出现以下报错
右键Socket项目-重新扫描解决方案 退出VS2015重新打开此工程即可

同样地,将Socket项目的配置拷贝到另外两个项目上,重新生成解决方案即可


将
C:\Program Files (x86)\Intel RealSense SDK 2.0\bin\x64\realsense2.dll
D:\RealSenseSR300\3rdparty\opencv\setup\opencv\build\x64\vc16\bin\opencv_world490.dll和opencv_world490d.dll
拷贝到exe输出目录:
D:\RealSenseSR300\output\generatePLY\x64\Release
D:\RealSenseSR300\output\Socket\x64\Release
D:\RealSenseSR300\output\Socket_test\x64\Release
中
使得程序能正常运行














![[lesson58]类模板的概念和意义](https://img-blog.csdnimg.cn/direct/4b9d9730362a4e27b7d841b646e76381.png#pic_center)


