VM模块开发 C++ 工程配置

发布时间:2026/9/25 2:36:44
VM模块开发 C++ 工程配置 介绍VM的开发模式:VM 开发模式分为 VM SDK 开发、算子 SDK 开发、算子模块开发。 三者的架构关系如下 由上图可知VM SDK 开发依赖于 VM算子模块开发给 VM 补充算法模块算子 SDK 开发则 依赖于算子安装包。由于 VM 安装包含算子安装包因此统一建议安装 VM。 聊完三者的架构关系下面介绍 VM 应用及开发模式的适用场景。 1. VM 应用 简单应用场景VM 能够实现业务逻辑无定制界面需求无外围(数据库、图表统计)功能需求。 该模式无需任何开发轻松上手调参方便。 2. VM SDK 开发(亦称 VM 二次开发) 用户希望部分业务逻辑由自己实现(例如定位计算等)有定制界面和外围功能需求或希望把 VM 嵌入客户开发的软件中。该开发模式代码量少、开发周期较短且 VM 提供各类流程与参数编辑控件 能够满足绝大多数应用需求是最为推荐的开发模式。 3. 算子 SDK 开发 用户希望全部业务逻辑由自己实现该开发模式代码量大、开发周期长海康只提供算子库和少 量界面控件能够满足部分应用需求。 4. 算子模块开发(只支持 C) 用户希望将自己开发的算子封装成模块并能在 VM 中使用(例如拖拽、订阅等)补充项目所需的 算子功能。该模式需要开发者有一定的算法开发经验和编程功底。C 工程环境配置:平台工具集: Visual Stdio 2013(v120) # 2013就是120VS2013打开实际不需要 手工配置选择 x64 Release 就可以成功编译且编译好自动复制到模块路径所以必须安装VS2013 且最好使用VS2013 打开配置过程:手工配置 项目属性(配置属性): C/C: 常规: 平台工具集: Visual Stdio 2013(v120) # 2013就是120 附加包含目录: ..\common\src;..\common;..\common\VM400\include\VmModuleFrame;..\common\SDK\Includes\Algorithms;..\common\SDK\Includes\Common\VisionDesigner;%(AdditionalIncludeDirectories) ..\common\src ..\common ..\common\VM400\include\VmModuleFrame ..\common\SDK\Includes\Algorithms ..\common\SDK\Includes\Common\VisionDesigner VC目录: 包含目录: 空 库目录: 空 链接器: 常规: 附加库目录: { ..\common\include\lib;..\common\VM400\lib;..\common\SDK\Libraries\x64\Algorithms;..\common\SDK\Libraries\x64\Common;%(AdditionalLibraryDirectories) ..\common\include\lib ..\common\VM400\lib ..\common\SDK\Libraries\x64\Algorithms ..\common\SDK\Libraries\x64\Common } 输入: 附加依赖项: { ModuleFrame.lib MVDShapeCpp.lib MVDImageCpp.lib MVDPositionFixCpp.lib MVDPreproMaskCpp.lib HSlog.lib } 模块定义文件: { AlgorithmModule.def }结束:接下来说一下Opencv Halcon配置方法:项目属性(配置属性): VC目录: 包含目录: { opencv4.9\include opencv4.9\include\opencv2 HALCON-23.05-Progress\include HALCON-23.05-Progress\include\halconcpp } 库目录: { opencv4.9\x64\vc16\lib HALCON-23.05-Progress\lib\x64-win64 } 链接器: 常规: 附加库目录: { HALCON-23.05-Progress\lib\x64-win64 } 输入: 附加依赖项: { halconcpp.lib opencv_world490.lib } 总结: 项目属性(配置属性): VC目录: 包含目录:(1) 库目录:(2) 链接器: 常规: 附加库目录:(3) 输入: 附加依赖项:(4) 程序前面加: 和 附加依赖项 都行 没搞明白有啥不一样; 两个都搞上也行; #pragma comment(lib, opencv_world490.lib) #pragma comment(lib, opencv_world490d.lib) #pragma comment(lib, halconcpp.lib)最后 再次声明一下 : 工程下xxx.vcxproj文件请关注这个文件所有的相对路径 都是以这个文件为基准的设置路径是为了找到文件 如果没有文件那么是没有意义的 所以设置路径之前需要把文件复制到工程目录下 看文件目录也知道文件怎么放了。不多解释。接下来 所有斜杠都是反斜杠比如上级目录 ..\上上级目录 ..\..\上级目录下的 ..\common\src当然你也可以手工编辑 xxx.vcxproj文件无非就是xml 相信你打开文件后潦草的看一眼就能看到你用vs设置的配置和xml对应的节点。保存以后 如果工程打开会自动提示加载。结束;;;; 注意 C# 可以 VS2013以及以上都可以 打开 ; C 必须安装VS2013