天天看点

Visual Studio解决方案文件结构

本文主要描述下我所习惯的Visual Studio解决方案结构。当然具体vs如何组织结构要根据项目、团队、个人喜好所决定。优先级项目需求 > 团队 > 个人喜好。

目前为止,我主要涉及到一些图像及深度学习相关的算法应用项目,一个项目一般都可以由一个解决方案搞定,

代码目录:

Visual Studio解决方案文件结构

1、《Bin》目录存放所有工程生成和第三方的dll、exe文件,《Bin》下可分为《Debug》及《Release》,因为我个人在windows平台下均采用X64编译,故不再细分X86和X64。其中运行所需第三方依赖dll均需事先一次性手动放入,如下图《Release》目录,其中AutoImageToText.dll,main.exe为工程项目生成,tensorflow.dll和opencv_world400.dll为第三方库。

Visual Studio解决方案文件结构

2、《Dat》目录存放所有数据文件,我一般会放一些图像以及训练好的模型文件。

3、《Doc》目录存放一些帮助和说明文件。

4、《Include》目录存放所有依赖的第三方头文件,如下分别存放opencv4.0以及tensoflow1.6头文件:

Visual Studio解决方案文件结构

5、《Lib》目录存放所有工程生成和所有第三方的lib文件,《Lib》目录视情况可以再分为《Debug》及《Release》,我一般不再划分,如有denug和release版本划分的lib,可以都放入该目录下,在工程属性中的链接器-->输入-->附加依赖项设置的时候具体指定不同的lib文件。

6、《Src》目录存放所有工程目录和.sln解决方案文件,如下图

Visual Studio解决方案文件结构

其中目录《AutoImageToText》和《main》为两个工程目录。AutoImageToText为动态链接库工程,为项目核心工程,生成识别引擎,main为控制台应用程序,主要用来测试。《AutoImageToText》目录下存放如下图:

Visual Studio解决方案文件结构

7、《Temp》目录存放项目运行生成的一些中间文件,包括compile和link。修改设置如下即可完成。

相关设置:

1、设置中间文件到Temp目录下

Visual Studio解决方案文件结构

2、生成后事件,拷贝dll,lib,exe到指定目录

动态链接库工程

Visual Studio解决方案文件结构

控制台工程main

Visual Studio解决方案文件结构

3、调试命令参数:

Visual Studio解决方案文件结构

4、C++头文件,链接库输入等按照实际位置输入即可