插件开发

  1. 图1所示,点击新建空白工程MindSDK Project或从Gitee下载导入样例工程MindSDK Samples。

    图1 基于MindSDK开发的应用工程

  2. 在IDE页面内的工程目录处右键工程名,选择New MindX SDK Plugin会出现如图2弹窗。

    图2 插件创建弹窗
    • “Plugin Name”:插件名称,用户自行定义。
    • “Plugin Path”:插件创建目录,建议放在工程下的“plugin”目录,若目录不存在请自行创建。

  3. 创建完成后会在工程目录中生成如下目录层级,Plugin Name图2中用户设定的插件名称。

    └── plugin
        └── Plugin Name          // 插件模板。
            ├── Plugin Name.cpp
            ├── Plugin Name.h
            └── CMakeLists.txt

  4. 在工程根目录下的“CMakeLists.txt”图3中标号“1”所示文件)或在“C++”目录中的“CMakeLists.txt”图3中标号“2”所示文件)新增插件的“CMakeLists.txt”图3中标号“3”所示文件)所在的位置,将新增插件加入编译过程。

    以新增插件mxpi_sample为填写示例。
    • 工程文件根目录下的“CMakeLists.txt”中加入:
      add_subdirectory("./plugin/mxpi_sample")

      “./plugin/mxpi_sample”为新增插件的“CMakeLists.txt”相对于工程文件根目录下的“CMakeLists.txt”所在的路径。

    • 在工程文件下C++目录下的“CMakeLists.txt”中加入:
      add_subdirectory("../plugin/mxpi_sample")

      “../plugin/mxpi_sample”为新增插件的“CMakeLists.txt”相对于在工程文件下C++目录下的“CMakeLists.txt”所在的路径。

    图3 add_subdirectory

  5. 编译完成后的.so文件在工程文件根目录/lib/plugins”生成,并将文件权限设置为“640”
  6. 请用户参照Vision SDK 用户指南的“使用流程编排方式开发”章节,完成插件开发。