使用指南
OpenCV SDK:发给客户什么
vyntek-sdk 打包内容、客户侧三行接入、Vyntek::opencv413 稳定入口。
给客户什么
一次 cpack 产出即完整 SDK(本机实测 vyntek-sdk-0.1.0-Linux.tar.gz,33M):
| 前缀下 | 内容 |
|---|---|
include/vyntek*/ | vyntek 公开头 |
include/opencv4/ | OpenCV 头(含生成的 opencv_modules.hpp) |
lib/libvyntek_{imaging,toolgroup}.so | vyntek 双库($ORIGIN rpath,同目录找 opencv_world) |
lib/libopencv_world.so.4.13.0 | 客户扩展直链的动态库 |
lib/cmake/Vyntek/ | VyntekConfig.cmake(自动 find_dependency(OpenCV)) |
lib/cmake/opencv4/ | OpenCVConfig.cmake(同前缀自带,客户无需另装 OpenCV) |
客户侧不拉 500M+ 源码、不编 10~20 分钟:解压即用。
打包
cmake --preset ninja-debug-shared -DVYNTEK_WITH_OPENCV=ON -DVYNTEK_BUILD_TESTS=ON
cmake --build --preset ninja-debug-shared
cd build/ninja-debug-shared
cpack -G TGZ # Linux/macOS
cpack -G ZIP # Windows(给 Vernon 的包)客户侧三行
find_package(Vyntek CONFIG REQUIRED) # VyntekConfig 自动找好同前缀的 OpenCV
target_link_libraries(their_tool PRIVATE Vyntek::toolgroup Vyntek::opencv413)Vyntek::opencv413是稳定入口:背后是opencv_world(SHARED 模式)或分模块静态库(VYNTEK_OPENCV_SHARED=OFF),客户代码不感知切换。#include <opencv2/core.hpp>路径已由 target 带好,无需手写-I。- C API(
vyntek_imaging_opencv_*,见vyntek/capi/vyntek_exports.h)在Vyntek::imaging里,C# 与 C++ 客户共用同一套符号。
等价的最小可跑工程见仓库外验证:find_package 配置 0.3 秒完成(对比源码接入的 10~20 分钟),cv::GaussianBlur 直调 + vyntek::imaging::opencv::Available() 双路皆通。
版本对应
VYNTEK_OPENCV_TAG(默认 4.13.0)锁死 OpenCV 版本;find_dependency(OpenCV 4.13.0) 在消费侧二次校验——SDK 与源码构建的版本不可能悄悄错开。