diff --git a/docs/cn/faq/usage_of_fastdeploy_init_bat.md b/docs/cn/faq/usage_of_fastdeploy_init_bat.md
new file mode 100644
index 0000000000..acd1d3bebf
--- /dev/null
+++ b/docs/cn/faq/usage_of_fastdeploy_init_bat.md
@@ -0,0 +1,107 @@
+# fastdeploy_init.bat工具使用方式
+
+
+
+## 1 方式一:使用 fastdeploy_init.bat 进行配置(推荐)
+
+
+对于版本高于0.2.1的SDK,我们提供了 **fastdeploy_init.bat** 工具来管理FastDeploy中所有的依赖库。可以通过该脚本工具查看(show)、拷贝(install) 和 设置(init and setup) SDK中所有的dll,方便用户快速完成运行时环境配置。
+
+### 1.1 fastdeploy_init.bat 使用说明
+
+
+首先进入SDK的根目录,运行以下命令,可以查看 fastdeploy_init.bat 的用法说明
+```bat
+D:\path-to-your-fastdeploy-sdk-dir>fastdeploy_init.bat help
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+[1] [help] print help information: fastdeploy_init.bat help
+[2] [show] show all dlls/libs/include paths: fastdeploy_init.bat show fastdeploy-sdk-dir
+[3] [init] init all dlls paths for current terminal: fastdeploy_init.bat init fastdeploy-sdk-dir [WARNING: need copy onnxruntime.dll manually]
+[4] [setup] setup path env for current terminal: fastdeploy_init.bat setup fastdeploy-sdk-dir [WARNING: need copy onnxruntime.dll manually]
+[5] [install] install all dlls to a specific dir: fastdeploy_init.bat install fastdeploy-sdk-dir another-dir-to-install-dlls **[RECOMMEND]**
+[6] [install] install all dlls with logging infos: fastdeploy_init.bat install fastdeploy-sdk-dir another-dir-to-install-dlls info
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+```
+用法简要说明如下:
+- help: 打印所有的用法说明
+- show: 查看SDK中所有的 dll、lib 和 include 路径
+- init: 初始化所有dll路径信息,后续用于设置terminal环境变量(不推荐,请参考4.3中关于onnxruntime的说明)
+- setup: 在init之后运行,设置terminal环境便令(不推荐,请参考4.3中关于onnxruntime的说明)
+- install: 将SDK中所有的dll安装到某个指定的目录(推荐)
+
+### 1.2 fastdeploy_init.bat 查看 SDK 中所有的 dll、lib 和 include 路径
+
+
+进入SDK的根目录,运行show命令,可以查看SDK中所有的 dll、lib 和 include 路径。以下命令中 %cd% 表示当前目录(SDK的根目录)。
+```bat
+D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat show %cd%
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+[SDK] D:\path-to-fastdeploy-sdk-dir
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+[DLL] D:\path-to-fastdeploy-sdk-dir\lib\fastdeploy.dll **[NEEDED]**
+[DLL] D:\path-to-fastdeploy-sdk-dir\third_libs\install\faster_tokenizer\lib\core_tokenizers.dll **[NEEDED]**
+[DLL] D:\path-to-fastdeploy-sdk-dir\third_libs\install\opencv\build\x64\vc15\bin\opencv_ffmpeg3416_64.dll **[NEEDED]**
+......
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+[Lib] D:\path-to-fastdeploy-sdk-dir\lib\fastdeploy.lib **[NEEDED][fastdeploy]**
+[Lib] D:\path-to-fastdeploy-sdk-dir\third_libs\install\faster_tokenizer\lib\core_tokenizers.lib **[NEEDED][fastdeploy::text]**
+[Lib] D:\path-to-fastdeploy-sdk-dir\third_libs\install\opencv\build\x64\vc15\lib\opencv_world3416.lib **[NEEDED][fastdeploy::vision]**
+......
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+[Include] D:\path-to-fastdeploy-sdk-dir\include **[NEEDED][fastdeploy]**
+[Include] D:\path-to-fastdeploy-sdk-dir\third_libs\install\faster_tokenizer\include **[NEEDED][fastdeploy::text]**
+[Include] D:\path-to-fastdeploy-sdk-dir\third_libs\install\opencv\build\include **[NEEDED][fastdeploy::vision]**
+......
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+[XML] D:\path-to-fastdeploy-sdk-dir\third_libs\install\openvino\runtime\bin\plugins.xml **[NEEDED]**
+------------------------------------------------------------------------------------------------------------------------------------------------------------
+```
+可以看到该命令会根据您当前的SDK,输出对应的信息,包含 dll、lib 和 include 的路径信息。对于 dll,被标记为 `[NEEDED]`的,是运行时所需要的,如果包含OpenVINO后端,还需要将他的plugins.xml拷贝到exe所在的目录;对于 lib 和 include,被标记为`[NEEDED]`的,是开发时所需要配置的最小依赖。并且,我们还增加了对应的API Tag标记,如果您只使用vision API,则只需要配置标记为 `[NEEDED][fastdeploy::vision]` 的 lib 和 include 路径.
+
+### 1.3 fastdeploy_init.bat 安装 SDK 中所有的 dll 到指定的目录 (推荐)
+
+
+进入SDK的根目录,运行install命令,可以将SDK 中所有的 dll 安装到指定的目录(如exe所在的目录)。我们推荐这种方式来配置exe运行所需要的依赖库。比如,可以在SDK根目录下创建一个临时的bin目录备份所有的dll文件。以下命令中 %cd% 表示当前目录(SDK的根目录)。
+```bat
+% info参数为可选参数,添加info参数后会打印详细的安装信息 %
+D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat install %cd% bin
+D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat install %cd% bin info
+```
+```bat
+D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat install %cd% bin
+[INFO] Do you want to install all FastDeploy dlls ?
+[INFO] From: D:\path-to-fastdeploy-sdk-dir
+[INFO] To: bin
+Choose y means YES, n means NO: [y/n]y
+YES.
+请按任意键继续. . .
+[INFO] Created bin done!
+已复制 1 个文件。
+已复制 1 个文件。
+已复制 1 个文件。
+已复制 1 个文件。
+.....
+已复制 1 个文件。
+已复制 1 个文件。
+已复制 1 个文件。
+已复制 1 个文件。
+.....
+```
+### 1.4 fastdeploy_init.bat 配置 SDK 环境变量
+
+
+您也可以选择通过配置环境变量的方式来设置运行时的依赖库环境,这种方式只在当前的terminal有效。如果您使用的SDK中包含了onnxruntime推理后端,我们不推荐这种方式,详细原因请参考(4.3)中关于onnxruntime配置的说明(需要手动拷贝onnxruntime所有的dll到exe所在的目录)。配置 SDK 环境变量的方式如下。以下命令中 %cd% 表示当前目录(SDK的根目录)。
+```bat
+% 先运行 init 初始化当前SDK所有的dll文件路径 %
+D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat init %cd%
+% 再运行 setup 完成 SDK 环境变量配置 %
+D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat setup %cd%
+```
+
+## 2 方式二:修改CMakeLists.txt,一行命令配置(推荐)
+
+
+考虑到Windows下C++开发的特殊性,如经常需要拷贝所有的lib或dll文件到某个指定的目录,FastDeploy提供了`install_fastdeploy_libraries`的cmake函数,方便用户快速配置所有的dll。修改ppyoloe的CMakeLists.txt,添加:
+```cmake
+install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
+```
diff --git a/docs/cn/faq/use_sdk_on_windows.md b/docs/cn/faq/use_sdk_on_windows.md
index 0683e8d04b..cd6578fc88 100644
--- a/docs/cn/faq/use_sdk_on_windows.md
+++ b/docs/cn/faq/use_sdk_on_windows.md
@@ -2,37 +2,8 @@
# 在 Windows 使用 FastDeploy C++ SDK
-## 目录
-- [1. 环境依赖](#Environment)
-- [2. 下载 FastDeploy Windows 10 C++ SDK](#Download)
-- [3. Windows下多种方式使用 C++ SDK 的方式](#CommandLine)
- - [3.1 命令行方式使用 C++ SDK](#CommandLine)
- - [3.1.1 在 Windows 命令行终端 上编译 example](#CommandLine)
- - [3.1.2 运行可执行文件获得推理结果](#CommandLine)
- - [3.2 Visual Studio 2019 创建sln工程使用 C++ SDK](#VisualStudio2019Sln)
- - [3.2.1 Visual Studio 2019 创建 sln 工程项目](#VisualStudio2019Sln1)
- - [3.2.2 从examples中拷贝infer_ppyoloe.cc的代码到工程](#VisualStudio2019Sln2)
- - [3.2.3 将工程配置设置成"Release x64"配置](#VisualStudio2019Sln3)
- - [3.2.4 配置头文件include路径](#VisualStudio2019Sln4)
- - [3.2.5 配置lib路径和添加库文件](#VisualStudio2019Sln5)
- - [3.2.6 编译工程并运行获取结果](#VisualStudio2019Sln6)
- - [3.3 Visual Studio 2019 创建CMake工程使用 C++ SDK](#VisualStudio2019)
- - [3.3.1 Visual Studio 2019 创建CMake工程项目](#VisualStudio20191)
- - [3.3.2 在CMakeLists中配置 FastDeploy C++ SDK](#VisualStudio20192)
- - [3.3.3 生成工程缓存并修改CMakeSetting.json配置](#VisualStudio20193)
- - [3.3.4 生成可执行文件,运行获取结果](#VisualStudio20194)
-- [4. 多种方法配置exe运行时所需的依赖库](#CommandLineDeps1)
- - [4.1 使用 fastdeploy_init.bat 进行配置(推荐)](#CommandLineDeps1)
- - [4.1.1 fastdeploy_init.bat 使用说明](#CommandLineDeps11)
- - [4.1.2 fastdeploy_init.bat 查看 SDK 中所有的 dll、lib 和 include 路径](#CommandLineDeps12)
- - [4.1.3 fastdeploy_init.bat 安装 SDK 中所有的 dll 到指定的目录](#CommandLineDeps13)
- - [4.1.4 fastdeploy_init.bat 配置 SDK 环境变量](#CommandLineDeps14)
- - [4.2 修改 CMakeLists.txt,一行命令配置(推荐)](#CommandLineDeps2)
- - [4.3 命令行设置环境变量](#CommandLineDeps3)
- - [4.4 手动拷贝依赖库到exe的目录下](#CommandLineDeps4)
-
-## 1. 环境依赖
+## 1. 准备环境和Windows部署库
- cmake >= 3.12
@@ -40,468 +11,49 @@
- cuda >= 11.2 (当WITH_GPU=ON)
- cudnn >= 8.0 (当WITH_GPU=ON)
-## 2. 下载 FastDeploy Windows 10 C++ SDK
-
+1. 根据需求,选择下载对应的C++(CPU/GPU)部署库,下载文档见[安装文档说明](../build_and_install)
+> 假定当前下载解压后的库路径在`D:\Download\fastdeploy-win-x64-gpu-x.x.x
+2. 下载如下模型文件和测试图片
+> https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz # (下载后解压缩)
+> https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
-### 2.1 下载预编译库或者从源码编译最新的SDK
-可以从以下链接下载编译好的 FastDeploy Windows 10 C++ SDK,SDK中包含了examples代码。
-```text
-https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-win-x64-gpu-0.2.1.zip
-```
-源码编译请参考: [build_and_install](../build_and_install)
-### 2.2 准备模型文件和测试图片
-可以从以下链接下载模型文件和测试图片,并解压缩
-```text
-https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz # (下载后解压缩)
-https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
-```
+## 2. 编译示例代码
-## 3. Windows下多种方式使用 C++ SDK 的方式
-### 3.1 SDK使用方式一:命令行方式使用 C++ SDK
-
+本文档编译的示例代码可在解压的库中找到,编译工具依赖VS 2019的安装,**Windows打开x64 Native Tools Command Prompt for VS 2019命令工具**,通过如下命令开始编译
+
+```shell
+cd D:\Download\fastdeploy-win-x64-gpu-x.x.x\examples\vision\detection\paddledetection\cpp
-#### 3.1.1 在 Windows 上编译 PPYOLOE
-Windows菜单打开`x64 Native Tools Command Prompt for VS 2019`命令工具,cd到ppyoloe的demo路径
-```bat
-cd fastdeploy-win-x64-gpu-0.2.1\examples\vision\detection\paddledetection\cpp
-```
-```bat
mkdir build && cd build
-cmake .. -G "Visual Studio 16 2019" -A x64 -DFASTDEPLOY_INSTALL_DIR=%cd%\..\..\..\..\..\..\..\fastdeploy-win-x64-gpu-0.2.1 -DCUDA_DIRECTORY="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2"
-```
-然后执行
-```bat
+cmake .. -G "Visual Studio 16 2019" -A x64 -DFASTDEPLOY_INSTALL_DIR=D:\Download\fastdeploy-win-x64-gpu-x.x.x -DCUDA_DIRECTORY="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2"
+
msbuild infer_demo.sln /m:4 /p:Configuration=Release /p:Platform=x64
```
-#### 3.1.2 运行 demo
-```bat
+如需使用Visual Studio 2019创建sln工程,或者CMake工程等方式编译,可参考如下文档
+- [FastDeploy C++库在Windows上的多种使用方式](./use_sdk_on_windows_build.md)
+
+## 3. 运行编译可执行程序
+
+注意Windows上运行时,需要将FastDeploy依赖的库拷贝至可执行程序所在目录, 或者配置环境变量。FastDeploy提供了工具帮助我们快速将所有依赖库拷贝至可执行程序所在目录,通过如下命令将所有依赖的dll文件拷贝至可执行程序所在的目录
+```shell
+cd D:\Download\fastdeploy-win-x64-gpu-x.x.x
+
+fastdeploy_init.bat install %cd% D:\Download\fastdeploy-win-x64-gpu-x.x.x\examples\vision\detection\paddledetection\cpp\build\Release
+```
+
+将dll拷贝到当前路径后,准备好模型和图片,使用如下命令运行可执行程序即可
+```shell
cd Release
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 0 # CPU
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 1 # GPU
infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 2 # GPU + TensorRT
-```
-
-特别说明,exe运行时所需要的依赖库配置方法,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
-
-### 3.2 SDK使用方式二:Visual Studio 2019 创建 sln 工程使用 C++ SDK
-
-本章节针对非CMake用户,介绍如何在Visual Studio 2019 中创建 sln 工程使用 FastDeploy C++ SDK. CMake用户请直接看下一章节。另外,本章节内容特别感谢“梦醒南天”同学关于FastDeploy使用的文档教程:[如何在 Windows 上使用 FastDeploy C++ 部署 PaddleDetection 目标检测模型](https://www.bilibili.com/read/cv18807232)
-
-
-
-#### 3.2.1 步骤一:Visual Studio 2019 创建 sln 工程项目
-
-
-
-(1) 打开Visual Studio 2019,点击"创建新项目"->点击"控制台程序",从而创建新的sln工程项目.
-
-
-
-
-
-(2)点击“创建”,便创建了一个空的sln工程。我们直接从examples里面拷贝infer_ppyoloe的代码这里。
-
-
-
-#### 3.2.2 步骤二:从examples中拷贝infer_ppyoloe.cc的代码到工程
-
-
-
-(1)从examples中拷贝infer_ppyoloe.cc的代码到工程,直接替换即可,拷贝代码的路径为:
-```bat
-fastdeploy-win-x64-gpu-0.2.1\examples\vision\detection\paddledetection\cpp
```
-
+在此步骤中使用到的`fastdeploy_init_bat`提供更多其它功能,帮忙开发者使用,包括
+- 查看SDK中所有dll, lib和include的路径
+- 安装SDK中所有dll至指定目录
+- 配置SDK环境变量
-#### 3.2.3 步骤三:将工程配置设置成"Release x64"配置
-
-
-
-
-
-#### 3.2.4 步骤四:配置头文件include路径
-
-
-
-
-(1)配置头文件include路径:鼠标选择项目,然后单击右键即可弹出下来菜单,在其中单击“属性”。
-
-
-
-
-(2)在弹出来的属性页中选择:C/C++ —> 常规 —> 附加包含目录,然后在添加 fastdeploy 和 opencv 的头文件路径。如:
-
-```bat
-
-D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\include
-D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv-win-x64-3.4.16\build\include
-```
-注意,如果是自行编译最新的SDK或版本>0.2.1,依赖库目录结构有所变动,opencv路径需要做出适当的修改。如:
-```bat
-D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv\build\include
-```
-
-
-
-用户需要根据自己实际的sdk路径稍作修改。
-
-
-#### 3.2.5 步骤五:配置lib路径和添加库文件
-
-
-
-(1)属性页中选择:链接器—>常规—> 附加库目录,然后在添加 fastdeploy 和 opencv 的lib路径。如:
-```bat
-D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\lib
-D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv-win-x64-3.4.16\build\x64\vc15\lib
-```
-注意,如果是自行编译最新的SDK或版本>0.2.1,依赖库目录结构有所变动,opencv路径需要做出适当的修改。如:
-```bat
-D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv\build\include
-```
-
-
-
-(2)添加库文件:只需要 fastdeploy.lib 和 opencv_world3416.lib
-
- 
-
-#### 3.2.6 步骤六:编译工程并运行获取结果
-
-
-
-
-(1)点击菜单栏“生成”->“生成解决方案”
-
-
-
-
-
-编译成功,可以看到exe保存在:
-```bat
-D:\qiuyanjun\fastdeploy_test\infer_ppyoloe\x64\Release\infer_ppyoloe.exe
-```
-
-(2)执行可执行文件,获得推理结果。 首先需要拷贝所有的dll到exe所在的目录下。同时,也需要把ppyoloe的模型文件和测试图片下载解压缩后,拷贝到exe所在的目录。 特别说明,exe运行时所需要的依赖库配置方法,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
-
-
-
-
-### 3.3 SDK使用方式三:Visual Studio 2019 创建 CMake 工程使用 C++ SDK
-
-
-本章节针对CMake用户,介绍如何在Visual Studio 2019 中创建 CMake 工程使用 FastDeploy C++ SDK.
-
-#### 3.3.1 步骤一:Visual Studio 2019 创建“CMake”工程项目
-
-
-
-(1)打开Visual Studio 2019,点击"创建新项目"->点击"CMake",从而创建CMake工程项目。以PPYOLOE为例,来说明如何在Visual Studio 2019 IDE中使用FastDeploy C++ SDK.
-
-
-
-
-
-
-
-
-(2)打开工程发现,Visual Stuio 2019已经为我们生成了一些基本的文件,其中包括CMakeLists.txt。infer_ppyoloe.h头文件这里实际上用不到,我们可以直接删除。
-
-
-
-#### 3.3.2 步骤二:在CMakeLists中配置 FastDeploy C++ SDK
-
-
-
-(1)在工程创建完成后,我们需要添加infer_ppyoloe推理源码,并修改CMakeLists.txt,修改如下:
-
-
-
-(2)其中infer_ppyoloe.cpp的代码可以直接从examples中的代码拷贝过来:
-- [examples/vision/detection/paddledetection/cpp/infer_ppyoloe.cc](../../../examples/vision/detection/paddledetection/cpp/infer_ppyoloe.cc)
-
-(3)CMakeLists.txt主要包括配置FastDeploy C++ SDK的路径,如果是GPU版本的SDK,还需要配置CUDA_DIRECTORY为CUDA的安装路径,CMakeLists.txt的配置如下:
-
-```cmake
-project(infer_ppyoloe_demo C CXX)
-cmake_minimum_required(VERSION 3.12)
-
-# Only support "Release" mode now
-set(CMAKE_BUILD_TYPE "Release")
-
-# Set FastDeploy install dir
-set(FASTDEPLOY_INSTALL_DIR "D:/qiuyanjun/fastdeploy-win-x64-gpu-0.2.1"
- CACHE PATH "Path to downloaded or built fastdeploy sdk.")
-
-# Set CUDA_DIRECTORY (CUDA 11.x) for GPU SDK
-set(CUDA_DIRECTORY "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7"
- CACHE PATH "Path to installed CUDA Toolkit.")
-
-include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake)
-
-include_directories(${FASTDEPLOY_INCS})
-
-add_executable(infer_ppyoloe_demo ${PROJECT_SOURCE_DIR}/infer_ppyoloe.cpp)
-target_link_libraries(infer_ppyoloe_demo ${FASTDEPLOY_LIBS})
-
-# Optional: install all DLLs to binary dir.
-install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
-```
-注意,`install_fastdeploy_libraries`函数仅在最新的代码编译的SDK或版本>0.2.1下有效。
-
-#### 3.3.3 步骤三:生成工程缓存并修改CMakeSetting.json配置
-
-
-
-(1)点击"CMakeLists.txt"->右键点击"生成缓存":
-
-
-
-发现已经成功生成缓存了,但是由于打开工程时,默认是Debug模式,我们发现exe和缓存保存路径还是Debug模式下的。 我们可以先修改CMake的设置为Release.
-
-(2)点击"CMakeLists.txt"->右键点击"infer_ppyoloe_demo的cmake设置",进入CMakeSettings.json的设置面板,把其中的Debug设置修改为Release.
-
-
-
-同时设置CMake生成器为 "Visual Studio 16 2019 Win64"
-
-
-
-(3)点击保存CMake缓存以切换为Release配置:
-
-
-
-(4):(4.1)点击"CMakeLists.txt"->右键"CMake缓存仅限x64-Release"->"点击删除缓存";(4.2)点击"CMakeLists.txt"->"生成缓存";(4.3)如果在步骤一发现删除缓存的选项是灰色的可以直接点击"CMakeLists.txt"->"生成",若生成失败则可以重复尝试(4.1)和(4。2)
-
-
-
-最终可以看到,配置已经成功生成Relase模式下的CMake缓存了。
-
-
-
-
-#### 3.3.4 步骤四:生成可执行文件,运行获取结果。
-
-
-
-(1)点击"CMakeLists.txt"->"生成"。可以发现已经成功生成了infer_ppyoloe_demo.exe,并保存在`out/build/x64-Release/Release`目录下。
-
-
-
-(2)执行可执行文件,获得推理结果。 首先需要拷贝所有的dll到exe所在的目录下,这里我们可以在CMakeLists.txt添加一下命令,可将FastDeploy中所有的dll安装到指定的目录。注意,该方式仅在最新的代码编译的SDK或版本>0.2.1下有效。其他配置方式,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
-
-```cmake
-install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
-```
-(3)同时,也需要把ppyoloe的模型文件和测试图片下载解压缩后,拷贝到exe所在的目录。 准备完成后,目录结构如下:
-
-
-
-(4)最后,执行以下命令获得推理结果:
-
-```bat
-D:\xxxinfer_ppyoloe\out\build\x64-Release\Release>infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 0
-[INFO] fastdeploy/runtime.cc(304)::fastdeploy::Runtime::Init Runtime initialized with Backend::OPENVINO in Device::CPU.
-DetectionResult: [xmin, ymin, xmax, ymax, score, label_id]
-415.047180,89.311569, 506.009613, 283.863098, 0.950423, 0
-163.665710,81.914932, 198.585342, 166.760895, 0.896433, 0
-581.788635,113.027618, 612.623474, 198.521713, 0.842596, 0
-267.217224,89.777306, 298.796051, 169.361526, 0.837951, 0
-......
-153.301407,123.233757, 177.130539, 164.558350, 0.066697, 60
-505.887604,140.919601, 523.167236, 151.875336, 0.084912, 67
-
-Visualized result saved in ./vis_result.jpg
-```
-
-打开保存的图片查看可视化结果:
-
-
-

-
-
-特别说明,exe运行时所需要的依赖库配置方法,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
-
-## 4. 多种方法配置exe运行时所需的依赖库
-
-说明:对于使用的最新源码编译的SDK或SDK版本>0.2.1的用户,我们推荐使用(4.1)和(4.2)中的方式配置运行时的依赖库。如果使用的SDK版本<=0.2.1,请参考(4.3)和(4.4)中的方式进行配置。
-
-### 4.1 方式一:使用 fastdeploy_init.bat 进行配置(推荐)
-
-
-对于版本高于0.2.1的SDK,我们提供了 **fastdeploy_init.bat** 工具来管理FastDeploy中所有的依赖库。可以通过该脚本工具查看(show)、拷贝(install) 和 设置(init and setup) SDK中所有的dll,方便用户快速完成运行时环境配置。
-
-#### 4.1.1 fastdeploy_init.bat 使用说明
-
-
-首先进入SDK的根目录,运行以下命令,可以查看 fastdeploy_init.bat 的用法说明
-```bat
-D:\path-to-your-fastdeploy-sdk-dir>fastdeploy_init.bat help
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-[1] [help] print help information: fastdeploy_init.bat help
-[2] [show] show all dlls/libs/include paths: fastdeploy_init.bat show fastdeploy-sdk-dir
-[3] [init] init all dlls paths for current terminal: fastdeploy_init.bat init fastdeploy-sdk-dir [WARNING: need copy onnxruntime.dll manually]
-[4] [setup] setup path env for current terminal: fastdeploy_init.bat setup fastdeploy-sdk-dir [WARNING: need copy onnxruntime.dll manually]
-[5] [install] install all dlls to a specific dir: fastdeploy_init.bat install fastdeploy-sdk-dir another-dir-to-install-dlls **[RECOMMEND]**
-[6] [install] install all dlls with logging infos: fastdeploy_init.bat install fastdeploy-sdk-dir another-dir-to-install-dlls info
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-```
-用法简要说明如下:
-- help: 打印所有的用法说明
-- show: 查看SDK中所有的 dll、lib 和 include 路径
-- init: 初始化所有dll路径信息,后续用于设置terminal环境变量(不推荐,请参考4.3中关于onnxruntime的说明)
-- setup: 在init之后运行,设置terminal环境便令(不推荐,请参考4.3中关于onnxruntime的说明)
-- install: 将SDK中所有的dll安装到某个指定的目录(推荐)
-#### 4.1.2 fastdeploy_init.bat 查看 SDK 中所有的 dll、lib 和 include 路径
-
-
-进入SDK的根目录,运行show命令,可以查看SDK中所有的 dll、lib 和 include 路径。以下命令中 %cd% 表示当前目录(SDK的根目录)。
-```bat
-D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat show %cd%
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-[SDK] D:\path-to-fastdeploy-sdk-dir
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-[DLL] D:\path-to-fastdeploy-sdk-dir\lib\fastdeploy.dll **[NEEDED]**
-[DLL] D:\path-to-fastdeploy-sdk-dir\third_libs\install\faster_tokenizer\lib\core_tokenizers.dll **[NEEDED]**
-[DLL] D:\path-to-fastdeploy-sdk-dir\third_libs\install\opencv\build\x64\vc15\bin\opencv_ffmpeg3416_64.dll **[NEEDED]**
-......
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-[Lib] D:\path-to-fastdeploy-sdk-dir\lib\fastdeploy.lib **[NEEDED][fastdeploy]**
-[Lib] D:\path-to-fastdeploy-sdk-dir\third_libs\install\faster_tokenizer\lib\core_tokenizers.lib **[NEEDED][fastdeploy::text]**
-[Lib] D:\path-to-fastdeploy-sdk-dir\third_libs\install\opencv\build\x64\vc15\lib\opencv_world3416.lib **[NEEDED][fastdeploy::vision]**
-......
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-[Include] D:\path-to-fastdeploy-sdk-dir\include **[NEEDED][fastdeploy]**
-[Include] D:\path-to-fastdeploy-sdk-dir\third_libs\install\faster_tokenizer\include **[NEEDED][fastdeploy::text]**
-[Include] D:\path-to-fastdeploy-sdk-dir\third_libs\install\opencv\build\include **[NEEDED][fastdeploy::vision]**
-......
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-[XML] D:\path-to-fastdeploy-sdk-dir\third_libs\install\openvino\runtime\bin\plugins.xml **[NEEDED]**
-------------------------------------------------------------------------------------------------------------------------------------------------------------
-```
-可以看到该命令会根据您当前的SDK,输出对应的信息,包含 dll、lib 和 include 的路径信息。对于 dll,被标记为 `[NEEDED]`的,是运行时所需要的,如果包含OpenVINO后端,还需要将他的plugins.xml拷贝到exe所在的目录;对于 lib 和 include,被标记为`[NEEDED]`的,是开发时所需要配置的最小依赖。并且,我们还增加了对应的API Tag标记,如果您只使用vision API,则只需要配置标记为 `[NEEDED][fastdeploy::vision]` 的 lib 和 include 路径.
-
-#### 4.1.3 fastdeploy_init.bat 安装 SDK 中所有的 dll 到指定的目录 (推荐)
-
-
-进入SDK的根目录,运行install命令,可以将SDK 中所有的 dll 安装到指定的目录(如exe所在的目录)。我们推荐这种方式来配置exe运行所需要的依赖库。比如,可以在SDK根目录下创建一个临时的bin目录备份所有的dll文件。以下命令中 %cd% 表示当前目录(SDK的根目录)。
-```bat
-% info参数为可选参数,添加info参数后会打印详细的安装信息 %
-D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat install %cd% bin
-D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat install %cd% bin info
-```
-```bat
-D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat install %cd% bin
-[INFO] Do you want to install all FastDeploy dlls ?
-[INFO] From: D:\path-to-fastdeploy-sdk-dir
-[INFO] To: bin
-Choose y means YES, n means NO: [y/n]y
-YES.
-请按任意键继续. . .
-[INFO] Created bin done!
-已复制 1 个文件。
-已复制 1 个文件。
-已复制 1 个文件。
-已复制 1 个文件。
-.....
-已复制 1 个文件。
-已复制 1 个文件。
-已复制 1 个文件。
-已复制 1 个文件。
-.....
-```
-#### 4.1.4 fastdeploy_init.bat 配置 SDK 环境变量
-
-
-您也可以选择通过配置环境变量的方式来设置运行时的依赖库环境,这种方式只在当前的terminal有效。如果您使用的SDK中包含了onnxruntime推理后端,我们不推荐这种方式,详细原因请参考(4.3)中关于onnxruntime配置的说明(需要手动拷贝onnxruntime所有的dll到exe所在的目录)。配置 SDK 环境变量的方式如下。以下命令中 %cd% 表示当前目录(SDK的根目录)。
-```bat
-% 先运行 init 初始化当前SDK所有的dll文件路径 %
-D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat init %cd%
-% 再运行 setup 完成 SDK 环境变量配置 %
-D:\path-to-fastdeploy-sdk-dir>fastdeploy_init.bat setup %cd%
-```
-
-### 4.2 方式二:修改CMakeLists.txt,一行命令配置(推荐)
-
-
-考虑到Windows下C++开发的特殊性,如经常需要拷贝所有的lib或dll文件到某个指定的目录,FastDeploy提供了`install_fastdeploy_libraries`的cmake函数,方便用户快速配置所有的dll。修改ppyoloe的CMakeLists.txt,添加:
-```cmake
-install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
-```
-注意,该方式仅在最新的代码编译的SDK或版本>0.2.1下有效。
-
-### 4.3 方式三:命令行设置环境变量
-
-
-编译好的exe保存在Release目录下,在运行demo前,需要将模型和测试图片拷贝至该目录。另外,需要在终端指定DLL的搜索路径。请在build目录下执行以下命令。
-```bat
-set FASTDEPLOY_HOME=%cd%\..\..\..\..\..\..\..\fastdeploy-win-x64-gpu-0.2.1
-set PATH=%FASTDEPLOY_HOME%\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\onnxruntime\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\opencv-win-x64-3.4.16\build\x64\vc15\bin;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\paddle_inference\paddle\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\paddle_inference\third_party\install\mkldnn\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\paddle_inference\third_party\install\mklml\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\paddle2onnx\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\tensorrt\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\faster_tokenizer\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\faster_tokenizer\third_party\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\yaml-cpp\lib;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\openvino\bin;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\openvino\3rdparty\tbb\bin;%PATH%
-```
-注意,需要拷贝onnxruntime.dll到exe所在的目录。
-```bat
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\onnxruntime\lib\onnxruntime* Release\
-```
-由于较新的Windows在System32系统目录下自带了onnxruntime.dll,因此就算设置了PATH,系统依然会出现onnxruntime的加载冲突。因此需要先拷贝demo用到的onnxruntime.dll到exe所在的目录。如下
-```bat
-where onnxruntime.dll
-C:\Windows\System32\onnxruntime.dll # windows自带的onnxruntime.dll
-```
-另外,注意,如果是自行编译最新的SDK或版本>0.2.1,opencv和openvino目录结构有所改变,路径需要做出适当的修改。如:
-```bat
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\opencv\build\x64\vc15\bin;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\openvino\runtime\bin;%PATH%
-set PATH=%FASTDEPLOY_HOME%\third_libs\install\openvino\runtime\3rdparty\tbb\bin;%PATH%
-```
-可以把上述命令拷贝并保存到build目录下的某个bat脚本文件中(包含copy onnxruntime),如`setup_fastdeploy_dll.bat`,方便多次使用。
-```bat
-setup_fastdeploy_dll.bat
-```
-
-### 4.4 方式四:手动拷贝依赖库到exe的目录下
-
-
-
-手动拷贝,或者在build目录下执行以下命令:
-```bat
-set FASTDEPLOY_HOME=%cd%\..\..\..\..\..\..\..\fastdeploy-win-x64-gpu-0.2.1
-copy /Y %FASTDEPLOY_HOME%\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\onnxruntime\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\opencv-win-x64-3.4.16\build\x64\vc15\bin\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\paddle_inference\paddle\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\paddle_inference\third_party\install\mkldnn\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\paddle_inference\third_party\install\mklml\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\paddle2onnx\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\tensorrt\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\faster_tokenizer\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\faster_tokenizer\third_party\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\yaml-cpp\lib\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\bin\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\bin\*.xml Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\3rdparty\tbb\bin\*.dll Release\
-```
-另外,注意,如果是自行编译最新的SDK或版本>0.2.1,opencv和openvino目录结构有所改变,路径需要做出适当的修改。如:
-```bat
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\opencv\build\x64\vc15\bin\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\runtime\bin\*.dll Release\
-copy /Y %FASTDEPLOY_HOME%\third_libs\install\openvino\runtime\3rdparty\tbb\bin\*.dll Release\
-```
-可以把上述命令拷贝并保存到build目录下的某个bat脚本文件中,如`copy_fastdeploy_dll.bat`,方便多次使用。
-```bat
-copy_fastdeploy_dll.bat
-```
-特别说明:上述的set和copy命令对应的依赖库路径,需要用户根据自己使用SDK中的依赖库进行适当地修改。比如,若是CPU版本的SDK,则不需要TensorRT相关的设置。
+具体可参考如下文档
+- [fastdeploy_init.bat工具的使用](./usage_of_fastdeploy_init_bat.md)
diff --git a/docs/cn/faq/use_sdk_on_windows_build.md b/docs/cn/faq/use_sdk_on_windows_build.md
new file mode 100644
index 0000000000..5f5e70e62c
--- /dev/null
+++ b/docs/cn/faq/use_sdk_on_windows_build.md
@@ -0,0 +1,312 @@
+# FastDeploy C++库在Windows上的多种使用方式
+
+## 目录
+- [1. 环境依赖](#Environment)
+- [2. 下载 FastDeploy Windows 10 C++ SDK](#Download)
+- [3. Windows下多种方式使用 C++ SDK 的方式](#CommandLine)
+ - [3.1 命令行方式使用 C++ SDK](#CommandLine)
+ - [3.1.1 在 Windows 命令行终端 上编译 example](#CommandLine)
+ - [3.1.2 运行可执行文件获得推理结果](#CommandLine)
+ - [3.2 Visual Studio 2019 创建sln工程使用 C++ SDK](#VisualStudio2019Sln)
+ - [3.2.1 Visual Studio 2019 创建 sln 工程项目](#VisualStudio2019Sln1)
+ - [3.2.2 从examples中拷贝infer_ppyoloe.cc的代码到工程](#VisualStudio2019Sln2)
+ - [3.2.3 将工程配置设置成"Release x64"配置](#VisualStudio2019Sln3)
+ - [3.2.4 配置头文件include路径](#VisualStudio2019Sln4)
+ - [3.2.5 配置lib路径和添加库文件](#VisualStudio2019Sln5)
+ - [3.2.6 编译工程并运行获取结果](#VisualStudio2019Sln6)
+ - [3.3 Visual Studio 2019 创建CMake工程使用 C++ SDK](#VisualStudio2019)
+ - [3.3.1 Visual Studio 2019 创建CMake工程项目](#VisualStudio20191)
+ - [3.3.2 在CMakeLists中配置 FastDeploy C++ SDK](#VisualStudio20192)
+ - [3.3.3 生成工程缓存并修改CMakeSetting.json配置](#VisualStudio20193)
+ - [3.3.4 生成可执行文件,运行获取结果](#VisualStudio20194)
+
+
+## 1. 环境依赖
+
+
+- cmake >= 3.12
+- Visual Studio 16 2019
+- cuda >= 11.2 (当WITH_GPU=ON)
+- cudnn >= 8.0 (当WITH_GPU=ON)
+
+## 2. 下载 FastDeploy Windows 10 C++ SDK
+
+
+### 2.1 下载预编译库或者从源码编译最新的SDK
+可以从以下链接下载编译好的 FastDeploy Windows 10 C++ SDK,SDK中包含了examples代码。
+```text
+https://bj.bcebos.com/fastdeploy/release/cpp/fastdeploy-win-x64-gpu-0.2.1.zip
+```
+源码编译请参考: [build_and_install](../build_and_install)
+### 2.2 准备模型文件和测试图片
+可以从以下链接下载模型文件和测试图片,并解压缩
+```text
+https://bj.bcebos.com/paddlehub/fastdeploy/ppyoloe_crn_l_300e_coco.tgz # (下载后解压缩)
+https://gitee.com/paddlepaddle/PaddleDetection/raw/release/2.4/demo/000000014439.jpg
+```
+
+## 3. Windows下多种方式使用 C++ SDK 的方式
+### 3.1 SDK使用方式一:命令行方式使用 C++ SDK
+
+
+#### 3.1.1 在 Windows 上编译 PPYOLOE
+Windows菜单打开`x64 Native Tools Command Prompt for VS 2019`命令工具,cd到ppyoloe的demo路径
+```bat
+cd fastdeploy-win-x64-gpu-0.2.1\examples\vision\detection\paddledetection\cpp
+```
+```bat
+mkdir build && cd build
+cmake .. -G "Visual Studio 16 2019" -A x64 -DFASTDEPLOY_INSTALL_DIR=%cd%\..\..\..\..\..\..\..\fastdeploy-win-x64-gpu-0.2.1 -DCUDA_DIRECTORY="C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.2"
+```
+然后执行
+```bat
+msbuild infer_demo.sln /m:4 /p:Configuration=Release /p:Platform=x64
+```
+
+#### 3.1.2 运行 demo
+```bat
+cd Release
+infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 0 # CPU
+infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 1 # GPU
+infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 2 # GPU + TensorRT
+```
+
+特别说明,exe运行时所需要的依赖库配置方法,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
+
+### 3.2 SDK使用方式二:Visual Studio 2019 创建 sln 工程使用 C++ SDK
+
+本章节针对非CMake用户,介绍如何在Visual Studio 2019 中创建 sln 工程使用 FastDeploy C++ SDK. CMake用户请直接看下一章节。另外,本章节内容特别感谢“梦醒南天”同学关于FastDeploy使用的文档教程:[如何在 Windows 上使用 FastDeploy C++ 部署 PaddleDetection 目标检测模型](https://www.bilibili.com/read/cv18807232)
+
+
+
+#### 3.2.1 步骤一:Visual Studio 2019 创建 sln 工程项目
+
+
+
+(1) 打开Visual Studio 2019,点击"创建新项目"->点击"控制台程序",从而创建新的sln工程项目.
+
+
+
+
+
+(2)点击“创建”,便创建了一个空的sln工程。我们直接从examples里面拷贝infer_ppyoloe的代码这里。
+
+
+
+#### 3.2.2 步骤二:从examples中拷贝infer_ppyoloe.cc的代码到工程
+
+
+
+(1)从examples中拷贝infer_ppyoloe.cc的代码到工程,直接替换即可,拷贝代码的路径为:
+```bat
+fastdeploy-win-x64-gpu-0.2.1\examples\vision\detection\paddledetection\cpp
+```
+
+
+
+#### 3.2.3 步骤三:将工程配置设置成"Release x64"配置
+
+
+
+
+
+#### 3.2.4 步骤四:配置头文件include路径
+
+
+
+
+(1)配置头文件include路径:鼠标选择项目,然后单击右键即可弹出下来菜单,在其中单击“属性”。
+
+
+
+
+(2)在弹出来的属性页中选择:C/C++ —> 常规 —> 附加包含目录,然后在添加 fastdeploy 和 opencv 的头文件路径。如:
+
+```bat
+
+D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\include
+D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv-win-x64-3.4.16\build\include
+```
+注意,如果是自行编译最新的SDK或版本>0.2.1,依赖库目录结构有所变动,opencv路径需要做出适当的修改。如:
+```bat
+D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv\build\include
+```
+
+
+
+用户需要根据自己实际的sdk路径稍作修改。
+
+
+#### 3.2.5 步骤五:配置lib路径和添加库文件
+
+
+
+(1)属性页中选择:链接器—>常规—> 附加库目录,然后在添加 fastdeploy 和 opencv 的lib路径。如:
+```bat
+D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\lib
+D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv-win-x64-3.4.16\build\x64\vc15\lib
+```
+注意,如果是自行编译最新的SDK或版本>0.2.1,依赖库目录结构有所变动,opencv路径需要做出适当的修改。如:
+```bat
+D:\qiuyanjun\fastdeploy_build\built\fastdeploy-win-x64-gpu-0.2.1\third_libs\install\opencv\build\include
+```
+
+
+
+(2)添加库文件:只需要 fastdeploy.lib 和 opencv_world3416.lib
+
+ 
+
+#### 3.2.6 步骤六:编译工程并运行获取结果
+
+
+
+
+(1)点击菜单栏“生成”->“生成解决方案”
+
+
+
+
+
+编译成功,可以看到exe保存在:
+```bat
+D:\qiuyanjun\fastdeploy_test\infer_ppyoloe\x64\Release\infer_ppyoloe.exe
+```
+
+(2)执行可执行文件,获得推理结果。 首先需要拷贝所有的dll到exe所在的目录下。同时,也需要把ppyoloe的模型文件和测试图片下载解压缩后,拷贝到exe所在的目录。 特别说明,exe运行时所需要的依赖库配置方法,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
+
+
+
+
+### 3.3 SDK使用方式三:Visual Studio 2019 创建 CMake 工程使用 C++ SDK
+
+
+本章节针对CMake用户,介绍如何在Visual Studio 2019 中创建 CMake 工程使用 FastDeploy C++ SDK.
+
+#### 3.3.1 步骤一:Visual Studio 2019 创建“CMake”工程项目
+
+
+
+(1)打开Visual Studio 2019,点击"创建新项目"->点击"CMake",从而创建CMake工程项目。以PPYOLOE为例,来说明如何在Visual Studio 2019 IDE中使用FastDeploy C++ SDK.
+
+
+
+
+
+
+
+
+(2)打开工程发现,Visual Stuio 2019已经为我们生成了一些基本的文件,其中包括CMakeLists.txt。infer_ppyoloe.h头文件这里实际上用不到,我们可以直接删除。
+
+
+
+#### 3.3.2 步骤二:在CMakeLists中配置 FastDeploy C++ SDK
+
+
+
+(1)在工程创建完成后,我们需要添加infer_ppyoloe推理源码,并修改CMakeLists.txt,修改如下:
+
+
+
+(2)其中infer_ppyoloe.cpp的代码可以直接从examples中的代码拷贝过来:
+- [examples/vision/detection/paddledetection/cpp/infer_ppyoloe.cc](../../../examples/vision/detection/paddledetection/cpp/infer_ppyoloe.cc)
+
+(3)CMakeLists.txt主要包括配置FastDeploy C++ SDK的路径,如果是GPU版本的SDK,还需要配置CUDA_DIRECTORY为CUDA的安装路径,CMakeLists.txt的配置如下:
+
+```cmake
+project(infer_ppyoloe_demo C CXX)
+cmake_minimum_required(VERSION 3.12)
+
+# Only support "Release" mode now
+set(CMAKE_BUILD_TYPE "Release")
+
+# Set FastDeploy install dir
+set(FASTDEPLOY_INSTALL_DIR "D:/qiuyanjun/fastdeploy-win-x64-gpu-0.2.1"
+ CACHE PATH "Path to downloaded or built fastdeploy sdk.")
+
+# Set CUDA_DIRECTORY (CUDA 11.x) for GPU SDK
+set(CUDA_DIRECTORY "C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v11.7"
+ CACHE PATH "Path to installed CUDA Toolkit.")
+
+include(${FASTDEPLOY_INSTALL_DIR}/FastDeploy.cmake)
+
+include_directories(${FASTDEPLOY_INCS})
+
+add_executable(infer_ppyoloe_demo ${PROJECT_SOURCE_DIR}/infer_ppyoloe.cpp)
+target_link_libraries(infer_ppyoloe_demo ${FASTDEPLOY_LIBS})
+
+# Optional: install all DLLs to binary dir.
+install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
+```
+注意,`install_fastdeploy_libraries`函数仅在最新的代码编译的SDK或版本>0.2.1下有效。
+
+#### 3.3.3 步骤三:生成工程缓存并修改CMakeSetting.json配置
+
+
+
+(1)点击"CMakeLists.txt"->右键点击"生成缓存":
+
+
+
+发现已经成功生成缓存了,但是由于打开工程时,默认是Debug模式,我们发现exe和缓存保存路径还是Debug模式下的。 我们可以先修改CMake的设置为Release.
+
+(2)点击"CMakeLists.txt"->右键点击"infer_ppyoloe_demo的cmake设置",进入CMakeSettings.json的设置面板,把其中的Debug设置修改为Release.
+
+
+
+同时设置CMake生成器为 "Visual Studio 16 2019 Win64"
+
+
+
+(3)点击保存CMake缓存以切换为Release配置:
+
+
+
+(4):(4.1)点击"CMakeLists.txt"->右键"CMake缓存仅限x64-Release"->"点击删除缓存";(4.2)点击"CMakeLists.txt"->"生成缓存";(4.3)如果在步骤一发现删除缓存的选项是灰色的可以直接点击"CMakeLists.txt"->"生成",若生成失败则可以重复尝试(4.1)和(4。2)
+
+
+
+最终可以看到,配置已经成功生成Relase模式下的CMake缓存了。
+
+
+
+
+#### 3.3.4 步骤四:生成可执行文件,运行获取结果。
+
+
+
+(1)点击"CMakeLists.txt"->"生成"。可以发现已经成功生成了infer_ppyoloe_demo.exe,并保存在`out/build/x64-Release/Release`目录下。
+
+
+
+(2)执行可执行文件,获得推理结果。 首先需要拷贝所有的dll到exe所在的目录下,这里我们可以在CMakeLists.txt添加一下命令,可将FastDeploy中所有的dll安装到指定的目录。注意,该方式仅在最新的代码编译的SDK或版本>0.2.1下有效。其他配置方式,请参考章节: [多种方法配置exe运行时所需的依赖库](#CommandLineDeps)
+
+```cmake
+install_fastdeploy_libraries(${CMAKE_CURRENT_BINARY_DIR}/Release)
+```
+(3)同时,也需要把ppyoloe的模型文件和测试图片下载解压缩后,拷贝到exe所在的目录。 准备完成后,目录结构如下:
+
+
+
+(4)最后,执行以下命令获得推理结果:
+
+```bat
+D:\xxxinfer_ppyoloe\out\build\x64-Release\Release>infer_ppyoloe_demo.exe ppyoloe_crn_l_300e_coco 000000014439.jpg 0
+[INFO] fastdeploy/runtime.cc(304)::fastdeploy::Runtime::Init Runtime initialized with Backend::OPENVINO in Device::CPU.
+DetectionResult: [xmin, ymin, xmax, ymax, score, label_id]
+415.047180,89.311569, 506.009613, 283.863098, 0.950423, 0
+163.665710,81.914932, 198.585342, 166.760895, 0.896433, 0
+581.788635,113.027618, 612.623474, 198.521713, 0.842596, 0
+267.217224,89.777306, 298.796051, 169.361526, 0.837951, 0
+......
+153.301407,123.233757, 177.130539, 164.558350, 0.066697, 60
+505.887604,140.919601, 523.167236, 151.875336, 0.084912, 67
+
+Visualized result saved in ./vis_result.jpg
+```
+
+打开保存的图片查看可视化结果:
+
+
+

+