From b6b81d4184e77552aef0eb0e33a3a7821085f79c Mon Sep 17 00:00:00 2001 From: YangOne Date: Mon, 13 Jul 2026 18:50:49 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0Prj=E4=B8=8B=E7=9A=84?= =?UTF-8?q?=E6=89=93=E5=8C=85=E5=BA=93=E8=B7=AF=E5=BE=84=EF=BC=8CTest=20To?= =?UTF-8?q?ols=E7=9A=84=E4=BE=9D=E8=B5=96=E5=BA=93=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AppAlgo/stereo_bolt_delivery/DEPENDENCIES.md | 182 +++++++++--------- .../validation/input_sha256.csv | 18 +- AppUtils/AppCommon/AppCommon.pro | 36 ++-- .../UICommon/Inc/SingleTargetResultWidget.h | 2 +- .../UICommon/Src/SingleTargetResultWidget.cpp | 35 ++-- AppUtils/UICommon/UICommon.pro | 2 +- GrabBagPrj/AppList.md | 56 +++--- GrabBagPrj/CalibView.iss | 92 ++++----- GrabBagPrj/CloudView.iss | 96 ++++----- GrabBagPrj/ControlApp.iss | 94 ++++----- GrabBagPrj/GrabBagPrj.sln | 88 ++++----- GrabBagPrj/project_registry.sh | 2 +- Test/RsLidarTest/RsLidarTest.pro | 22 +-- .../WDRemoteReceiverTest.pro | 26 +-- Test/tcpserver/tcpserver_test.pro | 6 +- Tools/CalibView/CalibView.pro | 38 ++-- Tools/ControlApp/ControlApp.pro | 24 +-- Tools/ControlApp/README.md | 104 +++++----- Tools/VrEyeView/VrEyeView.pro | 30 +-- 19 files changed, 476 insertions(+), 477 deletions(-) diff --git a/AppAlgo/stereo_bolt_delivery/DEPENDENCIES.md b/AppAlgo/stereo_bolt_delivery/DEPENDENCIES.md index 3ee905a0..396c41b0 100644 --- a/AppAlgo/stereo_bolt_delivery/DEPENDENCIES.md +++ b/AppAlgo/stereo_bolt_delivery/DEPENDENCIES.md @@ -1,92 +1,92 @@ -# 依赖库说明 - -本包为**自带闭包**交付。`lib/` 目录内包含 `libstereo_bolt.so` 运行所需的全部动态库, -**无需在目标板上安装 OpenCV 或任何第三方包**。 - ---- - -## 一、包含哪些库(lib/ 目录,共 9 个) - -| 库 | 说明 | -|---|---| -| `libstereo_bolt.so` | 本算法库(主体) | -| `librknnrt.so` | RKNN NPU 推理运行时(Rockchip 2.3.2) | -| `libopencv_core.so.4.5` | OpenCV 4.5.0 — 基础矩阵/图像容器 | -| `libopencv_imgproc.so.4.5` | OpenCV 4.5.0 — 图像处理 | -| `libopencv_calib3d.so.4.5` | OpenCV 4.5.0 — 立体标定、rectify、三角测量 | -| `libopencv_imgcodecs.so.4.5` | OpenCV 4.5.0 — 图像文件读写 | -| `libopencv_dnn.so.4.5` | OpenCV 4.5.0 — DNN 模块 | -| `libopencv_features2d.so.4.5` | OpenCV 4.5.0 — 特征点(calib3d 依赖) | -| `libopencv_flann.so.4.5` | OpenCV 4.5.0 — FLANN 索引(features2d 依赖) | - -> OpenCV 从源码编译(非 apt 包),**SONAME 为标准的 `libopencv_*.so.4.5`** -> (不带 Debian/Ubuntu 的 `d` 后缀),与自行源码编译 OpenCV 4.5.x 的环境兼容。 -> -> 图像编解码(libjpeg/libpng/libtiff/libwebp/openjpeg)、protobuf、zlib -> 均已**静态链入** OpenCV,不再作为独立 `.so` 出现。 - ---- - -## 二、不在包内(由目标板系统提供) - -以下是 Linux 系统 ABI 层,**必须与目标板 glibc 版本严格对齐,绝不能替换**: - -| 库 | 要求 | -|---|---| +# 依赖库说明 + +本包为**自带闭包**交付。`lib/` 目录内包含 `libstereo_bolt.so` 运行所需的全部动态库, +**无需在目标板上安装 OpenCV 或任何第三方包**。 + +--- + +## 一、包含哪些库(lib/ 目录,共 9 个) + +| 库 | 说明 | +|---|---| +| `libstereo_bolt.so` | 本算法库(主体) | +| `librknnrt.so` | RKNN NPU 推理运行时(Rockchip 2.3.2) | +| `libopencv_core.so.4.5` | OpenCV 4.5.0 — 基础矩阵/图像容器 | +| `libopencv_imgproc.so.4.5` | OpenCV 4.5.0 — 图像处理 | +| `libopencv_calib3d.so.4.5` | OpenCV 4.5.0 — 立体标定、rectify、三角测量 | +| `libopencv_imgcodecs.so.4.5` | OpenCV 4.5.0 — 图像文件读写 | +| `libopencv_dnn.so.4.5` | OpenCV 4.5.0 — DNN 模块 | +| `libopencv_features2d.so.4.5` | OpenCV 4.5.0 — 特征点(calib3d 依赖) | +| `libopencv_flann.so.4.5` | OpenCV 4.5.0 — FLANN 索引(features2d 依赖) | + +> OpenCV 从源码编译(非 apt 包),**SONAME 为标准的 `libopencv_*.so.4.5`** +> (不带 Debian/Ubuntu 的 `d` 后缀),与自行源码编译 OpenCV 4.5.x 的环境兼容。 +> +> 图像编解码(libjpeg/libpng/libtiff/libwebp/openjpeg)、protobuf、zlib +> 均已**静态链入** OpenCV,不再作为独立 `.so` 出现。 + +--- + +## 二、不在包内(由目标板系统提供) + +以下是 Linux 系统 ABI 层,**必须与目标板 glibc 版本严格对齐,绝不能替换**: + +| 库 | 要求 | +|---|---| | `libc.so.6` | glibc ≥ 2.35(Ubuntu 22.04 = 2.35,满足) | -| `libpthread.so.0` | 同上(已并入 glibc 2.34+) | -| `libm.so.6` | 同上 | -| `libdl.so.2` | 同上 | -| `libstdc++.so.6` | GCC 11+(Ubuntu 22.04 自带) | -| `libgcc_s.so.1` | 同上 | -| `ld-linux-aarch64.so.1` | 动态链接器,系统自带 | - ---- - -## 三、为什么这么设计 - -**问题:** 如果目标板通过 apt 安装 OpenCV,Debian/Ubuntu 会给 SONAME 加私有后缀 -(如 `libopencv_core.so.4.5d` 而非标准的 `…4.5`),导致与自行编译的 OpenCV 不兼容; -另外 apt 安装需要联网,新板子部署不可控。 - -**解法:** 从 OpenCV 4.5.0 官方源码编译,只构建算法实际需要的 7 个模块 -(core/imgproc/calib3d/imgcodecs/dnn/features2d/flann),图像编解码等第三方库 -全部静态链入。最终 `lib/` 只有 9 个 `.so`(含本库 + librknnrt),约 **22 MB**, -依赖关系极简,无需联网、无需 apt。 - ---- - -## 四、运行时加载方式 - -```bash -# 解包后,设一次环境变量 -export LD_LIBRARY_PATH="$(pwd)/lib:$LD_LIBRARY_PATH" - -# 验证:应当没有任何 "not found" 输出 -ldd lib/libstereo_bolt.so | grep "not found" -``` - ---- - -## 五、SONAME 兼容性说明 - -| 编译来源 | SONAME | 与本包兼容? | -|---|---|---| -| **本包(源码编译 4.5.0)** | `libopencv_core.so.4.5` | ✅ | -| **自行源码编译 4.5.x** | `libopencv_core.so.4.5` | ✅ | -| **Ubuntu apt `libopencv-dev`** | `libopencv_core.so.4.5d` | ❌ SONAME 不匹配 | - -本包的 `libstereo_bolt.so` 链接的 NEEDED 是标准 `libopencv_*.so.4.5`(无 `d`), -与任何从源码编译的 OpenCV 4.5.x 兼容。如果目标板上碰巧装了 apt 的 OpenCV(带 `d`), -只要 `LD_LIBRARY_PATH` 优先指向 `lib/`,就会用本包内的库,不会冲突。 - ---- - -## 六、编译调用程序时注意 - -**生产路径**:你自己的代码只用 `include/stereo_bolt/c_api.h`,不引用任何 OpenCV 头, -相机 buffer 直接传给 `sb_process_bolt_module_buffers`,**完全不需要 OpenCV 头文件**。 - -**编译 `example/` 示例**(可选,仅用于集成验证):当前示例是纯 C, -只读 headerless Mono8 raw 文件并调用 C ABI,不引用 OpenCV 头文件。 -运行时仍用本包 `lib/` 里的库。 +| `libpthread.so.0` | 同上(已并入 glibc 2.34+) | +| `libm.so.6` | 同上 | +| `libdl.so.2` | 同上 | +| `libstdc++.so.6` | GCC 11+(Ubuntu 22.04 自带) | +| `libgcc_s.so.1` | 同上 | +| `ld-linux-aarch64.so.1` | 动态链接器,系统自带 | + +--- + +## 三、为什么这么设计 + +**问题:** 如果目标板通过 apt 安装 OpenCV,Debian/Ubuntu 会给 SONAME 加私有后缀 +(如 `libopencv_core.so.4.5d` 而非标准的 `…4.5`),导致与自行编译的 OpenCV 不兼容; +另外 apt 安装需要联网,新板子部署不可控。 + +**解法:** 从 OpenCV 4.5.0 官方源码编译,只构建算法实际需要的 7 个模块 +(core/imgproc/calib3d/imgcodecs/dnn/features2d/flann),图像编解码等第三方库 +全部静态链入。最终 `lib/` 只有 9 个 `.so`(含本库 + librknnrt),约 **22 MB**, +依赖关系极简,无需联网、无需 apt。 + +--- + +## 四、运行时加载方式 + +```bash +# 解包后,设一次环境变量 +export LD_LIBRARY_PATH="$(pwd)/lib:$LD_LIBRARY_PATH" + +# 验证:应当没有任何 "not found" 输出 +ldd lib/libstereo_bolt.so | grep "not found" +``` + +--- + +## 五、SONAME 兼容性说明 + +| 编译来源 | SONAME | 与本包兼容? | +|---|---|---| +| **本包(源码编译 4.5.0)** | `libopencv_core.so.4.5` | ✅ | +| **自行源码编译 4.5.x** | `libopencv_core.so.4.5` | ✅ | +| **Ubuntu apt `libopencv-dev`** | `libopencv_core.so.4.5d` | ❌ SONAME 不匹配 | + +本包的 `libstereo_bolt.so` 链接的 NEEDED 是标准 `libopencv_*.so.4.5`(无 `d`), +与任何从源码编译的 OpenCV 4.5.x 兼容。如果目标板上碰巧装了 apt 的 OpenCV(带 `d`), +只要 `LD_LIBRARY_PATH` 优先指向 `lib/`,就会用本包内的库,不会冲突。 + +--- + +## 六、编译调用程序时注意 + +**生产路径**:你自己的代码只用 `include/stereo_bolt/c_api.h`,不引用任何 OpenCV 头, +相机 buffer 直接传给 `sb_process_bolt_module_buffers`,**完全不需要 OpenCV 头文件**。 + +**编译 `example/` 示例**(可选,仅用于集成验证):当前示例是纯 C, +只读 headerless Mono8 raw 文件并调用 C ABI,不引用 OpenCV 头文件。 +运行时仍用本包 `lib/` 里的库。 diff --git a/AppAlgo/stereo_bolt_delivery/validation/input_sha256.csv b/AppAlgo/stereo_bolt_delivery/validation/input_sha256.csv index 7d9d208c..83a506a8 100644 --- a/AppAlgo/stereo_bolt_delivery/validation/input_sha256.csv +++ b/AppAlgo/stereo_bolt_delivery/validation/input_sha256.csv @@ -1,9 +1,9 @@ -"frame","eye","file","bytes","sha256" -"19","left","left_19.bmp","36864054","b5b68722ef7cefb79d75f698838bfe869f8f1bc611290a34237bd0ec51616afc" -"19","right","right_19.bmp","36864054","827d6a49caad6b718531a33e09a9fa12e8415b0351ca5c9e31ef0f58d2682d3b" -"20","left","left_20.bmp","36864054","1dcbb91a2571d7893d2c5cf3545b7d3ecb8e4dda164ea6d62788baddbb012b22" -"20","right","right_20.bmp","36864054","019276576ff18d925d204aa7a1b149194a66b6e45a0382561087941fb18e772c" -"28","left","left_28.bmp","36864054","4967fbdd4f93574516ec41c220f05f6f70ff707c12f070da5b76f7b9faa55919" -"28","right","right_28.bmp","36864054","28676009b052c88bf4555f9073df019dac1ad2e240d591e74b51596dd91038b3" -"43","left","left_43.bmp","36864054","17906c08074254fe3682a58dcb0983847034a2aad6d4feb7c7485503e205430d" -"43","right","right_43.bmp","36864054","d833e99a5cc468e860ce553ba0e8e2c4441d93a0584ad44190dbdbc3abf6f2a7" +"frame","eye","file","bytes","sha256" +"19","left","left_19.bmp","36864054","b5b68722ef7cefb79d75f698838bfe869f8f1bc611290a34237bd0ec51616afc" +"19","right","right_19.bmp","36864054","827d6a49caad6b718531a33e09a9fa12e8415b0351ca5c9e31ef0f58d2682d3b" +"20","left","left_20.bmp","36864054","1dcbb91a2571d7893d2c5cf3545b7d3ecb8e4dda164ea6d62788baddbb012b22" +"20","right","right_20.bmp","36864054","019276576ff18d925d204aa7a1b149194a66b6e45a0382561087941fb18e772c" +"28","left","left_28.bmp","36864054","4967fbdd4f93574516ec41c220f05f6f70ff707c12f070da5b76f7b9faa55919" +"28","right","right_28.bmp","36864054","28676009b052c88bf4555f9073df019dac1ad2e240d591e74b51596dd91038b3" +"43","left","left_43.bmp","36864054","17906c08074254fe3682a58dcb0983847034a2aad6d4feb7c7485503e205430d" +"43","right","right_43.bmp","36864054","d833e99a5cc468e860ce553ba0e8e2c4441d93a0584ad44190dbdbc3abf6f2a7" diff --git a/AppUtils/AppCommon/AppCommon.pro b/AppUtils/AppCommon/AppCommon.pro index 5bed5a8c..374a6d78 100644 --- a/AppUtils/AppCommon/AppCommon.pro +++ b/AppUtils/AppCommon/AppCommon.pro @@ -4,31 +4,31 @@ TEMPLATE = lib CONFIG += staticlib CONFIG += c++17 -# Windows平台UTF-8编码支持 +# Windows骞冲彴UTF-8缂栫爜鏀寔 win32-msvc { QMAKE_CXXFLAGS += /utf-8 } -# Unix平台特定配置 +# Unix骞冲彴鐗瑰畾閰嶇疆 unix:!macx { - # 位置无关代码(用于静态库) + # 浣嶇疆鏃犲叧浠g爜锛堢敤浜庨潤鎬佸簱锛? QMAKE_CXXFLAGS += -fPIC } -# 包含路径 +# 鍖呭惈璺緞 INCLUDEPATH += $$PWD/Inc INCLUDEPATH += $$PWD/../AppConfig/Inc # PathManager, ConfigMonitor, BaseConfigManager INCLUDEPATH += $$PWD/../../Utils/CloudUtils/Inc # LaserDataLoader INCLUDEPATH += $$PWD/../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../Utils/VrUtils/Inc INCLUDEPATH += $$PWD/../../Device/VrEyeDevice/Inc -INCLUDEPATH += $$PWD/../../SDK/Device/VzNLSDK/Inc +INCLUDEPATH += $$PWD/../../Device/SDK/VzNLSDK/Inc INCLUDEPATH += $$PWD/../../Module/ShareMem/Inc # ConfigMonitor -INCLUDEPATH += $$PWD/../../Module/ModbusTCPServer/Inc # ModbusTCP服务器接口 -INCLUDEPATH += $$PWD/../../Module/AuthModule/Inc # 授权模块 -INCLUDEPATH += $$PWD/../../VrNets/TCPServer/Inc # TCP服务器接口 +INCLUDEPATH += $$PWD/../../VrNets/ModbusTCPServer/Inc # ModbusTCP鏈嶅姟鍣ㄦ帴鍙? +INCLUDEPATH += $$PWD/../../Module/AuthModule/Inc # 鎺堟潈妯″潡 +INCLUDEPATH += $$PWD/../../VrNets/TCPServer/Inc # TCP鏈嶅姟鍣ㄦ帴鍙? -# 头文件 +# 澶存枃浠? HEADERS += \ Inc/SingleInstanceManager.h \ Inc/IVisionApplicationStatus.h \ @@ -38,38 +38,38 @@ HEADERS += \ Inc/TCPServerProtocol.h \ Inc/DebugDataSaver.h -# 源文件 +# 婧愭枃浠? SOURCES += \ Src/SingleInstanceManager.cpp \ Src/BasePresenter.cpp \ Src/TCPServerProtocol.cpp \ Src/DebugDataSaver.cpp -# Windows平台库链接 +# Windows骞冲彴搴撻摼鎺? win32:CONFIG(release, debug|release): { - LIBS += -L$$PWD/../../Module/ModbusTCPServer/release -lModbusTCPServer + LIBS += -L$$PWD/../../VrNets/release -lModbusTCPServer LIBS += -L$$PWD/../../Module/ShareMem/release -lShareMem LIBS += -L$$PWD/../../VrNets/release -lVrModbus - LIBS += -L$$PWD/../../VrNets/release -lVrTCPServer + LIBS += -L$$PWD/../../VrNets/release -lVrTcpServer LIBS += -L$$PWD/../../Device/VrEyeDevice/release -lVrEyeDevice LIBS += -L$$PWD/../../Utils/VrUtils/release -lVrUtils } else:win32:CONFIG(debug, debug|release): { - LIBS += -L$$PWD/../../Module/ModbusTCPServer/debug -lModbusTCPServer + LIBS += -L$$PWD/../../VrNets/debug -lModbusTCPServer LIBS += -L$$PWD/../../Module/ShareMem/debug -lShareMem LIBS += -L$$PWD/../../VrNets/debug -lVrModbus - LIBS += -L$$PWD/../../VrNets/debug -lVrTCPServer + LIBS += -L$$PWD/../../VrNets/debug -lVrTcpServer LIBS += -L$$PWD/../../Device/VrEyeDevice/debug -lVrEyeDevice LIBS += -L$$PWD/../../Utils/VrUtils/debug -lVrUtils }else:unix:!macx { - LIBS += -L../../Module/ModbusTCPServer -lModbusTCPServer + LIBS += -L../../VrNets -lModbusTCPServer LIBS += -L../../Module/ShareMem -lShareMem LIBS += -L../../VrNets -lVrModbus - LIBS += -L../../VrNets -lVrTCPServer + LIBS += -L../../VrNets -lVrTcpServer LIBS += -L../../Device/VrEyeDevice -lVrEyeDevice LIBS += -L../../Utils/VrUtils -lVrUtils - # 添加系统库依赖 + # 娣诲姞绯荤粺搴撲緷璧? LIBS += -lpthread } diff --git a/AppUtils/UICommon/Inc/SingleTargetResultWidget.h b/AppUtils/UICommon/Inc/SingleTargetResultWidget.h index dda51ceb..f767b83c 100644 --- a/AppUtils/UICommon/Inc/SingleTargetResultWidget.h +++ b/AppUtils/UICommon/Inc/SingleTargetResultWidget.h @@ -19,7 +19,7 @@ public: explicit SingleTargetResultWidget(QWidget* parent = nullptr); void setTitle(const QString& title); - void setStatus(const QString& text, bool warning); + void setStatus(const QString& text, bool warning = false); void setFields(const QList>& fields); void setEmptyText(const QString& text); diff --git a/AppUtils/UICommon/Src/SingleTargetResultWidget.cpp b/AppUtils/UICommon/Src/SingleTargetResultWidget.cpp index 918b9147..0f27f632 100644 --- a/AppUtils/UICommon/Src/SingleTargetResultWidget.cpp +++ b/AppUtils/UICommon/Src/SingleTargetResultWidget.cpp @@ -26,7 +26,7 @@ SingleTargetResultWidget::SingleTargetResultWidget(QWidget* parent) : QWidget(parent) { setObjectName(QStringLiteral("singleTargetResultWidget")); - setMinimumSize(360, 168); + setMinimumSize(360, 360); setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Fixed); m_titleLabel = MakeTextLabel(QStringLiteral("singleTargetTitle"), this); @@ -45,8 +45,10 @@ SingleTargetResultWidget::SingleTargetResultWidget(QWidget* parent) m_fieldLayout = new QGridLayout(); m_fieldLayout->setContentsMargins(0, 0, 0, 0); - m_fieldLayout->setHorizontalSpacing(12); - m_fieldLayout->setVerticalSpacing(6); + m_fieldLayout->setHorizontalSpacing(16); + m_fieldLayout->setVerticalSpacing(10); + m_fieldLayout->setColumnStretch(0, 0); + m_fieldLayout->setColumnStretch(1, 1); auto* mainLayout = new QVBoxLayout(this); mainLayout->setContentsMargins(14, 12, 14, 12); @@ -63,32 +65,32 @@ SingleTargetResultWidget::SingleTargetResultWidget(QWidget* parent) "}" "#singleTargetTitle {" " color: rgb(245, 247, 250);" - " font-size: 18px;" + " font-size: 22px;" " font-weight: 600;" "}" "#singleTargetStatus {" " color: rgb(255, 255, 255);" - " font-size: 14px;" + " font-size: 18px;" " font-weight: 600;" - " padding: 3px 10px;" + " padding: 4px 12px;" " border-radius: 4px;" "}" "#singleTargetEmpty {" " color: rgb(172, 181, 194);" - " font-size: 16px;" + " font-size: 22px;" "}" "#singleTargetFieldName {" " color: rgb(153, 164, 178);" - " font-size: 14px;" + " font-size: 18px;" "}" "#singleTargetFieldValue {" " color: rgb(239, 242, 246);" - " font-size: 15px;" + " font-size: 20px;" " font-weight: 500;" "}"); setTitle(QStringLiteral("目标结果")); - setStatus(QStringLiteral("正常"), false); + setStatus(QStringLiteral("未知"), false); } void SingleTargetResultWidget::setTitle(const QString& title) @@ -98,10 +100,9 @@ void SingleTargetResultWidget::setTitle(const QString& title) void SingleTargetResultWidget::setStatus(const QString& text, bool warning) { + Q_UNUSED(warning); m_statusLabel->setText(text.trimmed().isEmpty() ? QStringLiteral("未知") : text.trimmed()); - m_statusLabel->setStyleSheet(warning - ? QStringLiteral("background-color: rgb(190, 71, 61);") - : QStringLiteral("background-color: rgb(45, 137, 92);")); + m_statusLabel->setStyleSheet(QStringLiteral("background-color: rgb(73, 84, 99);")); } void SingleTargetResultWidget::setFields(const QList>& fields) @@ -109,10 +110,8 @@ void SingleTargetResultWidget::setFields(const QList>& f clearFieldRows(); m_emptyLabel->setVisible(fields.isEmpty()); - const int columns = 2; for (int i = 0; i < fields.size(); ++i) { - const int row = i / columns; - const int column = (i % columns) * 2; + const int row = i; QLabel* name = MakeTextLabel(QStringLiteral("singleTargetFieldName"), this); name->setText(fields[i].first); @@ -120,8 +119,8 @@ void SingleTargetResultWidget::setFields(const QList>& f value->setText(fields[i].second); value->setAlignment(Qt::AlignRight | Qt::AlignVCenter); - m_fieldLayout->addWidget(name, row, column); - m_fieldLayout->addWidget(value, row, column + 1); + m_fieldLayout->addWidget(name, row, 0); + m_fieldLayout->addWidget(value, row, 1); m_fieldWidgets.push_back(name); m_fieldWidgets.push_back(value); } diff --git a/AppUtils/UICommon/UICommon.pro b/AppUtils/UICommon/UICommon.pro index 16b8c00f..33e4b5b5 100644 --- a/AppUtils/UICommon/UICommon.pro +++ b/AppUtils/UICommon/UICommon.pro @@ -17,7 +17,7 @@ INCLUDEPATH += $$PWD/Inc INCLUDEPATH += $$PWD/../../Utils/VrUtils/Inc INCLUDEPATH += $$PWD/../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../Device/VrEyeDevice/Inc -INCLUDEPATH += $$PWD/../../SDK/Device/VzNLSDK/Inc +INCLUDEPATH += $$PWD/../../Device/SDK/VzNLSDK/Inc INCLUDEPATH += $$PWD/../AppCommon/Inc INCLUDEPATH += $$PWD/../AppConfig/Inc INCLUDEPATH += $$PWD/../../Utils/CloudUtils/Inc diff --git a/GrabBagPrj/AppList.md b/GrabBagPrj/AppList.md index a798d9bb..f3209dee 100644 --- a/GrabBagPrj/AppList.md +++ b/GrabBagPrj/AppList.md @@ -1,28 +1,28 @@ -# 应用列表及说明 - -## 软件对应关系表 - -| 序号 | 项目名称 | App名称 | 版本 | -|:---:|:--------|:---------|:------------| -| 1 | 自动拆包 | GrabBag | 1.3.6.2 | -| 2 | 皮带撕裂 | BeltTearingServer | 2.0.8.1 | -| 3 | 孔洞检测 | HoleDetection | 1.1.6.2 | -| 4 | 棒材定位 | RodAndBarPosition | 1.1.4.4 | -| 5 | 车轮拱高测量 | WheelMeasure | 1.2.2.2 | -| 6 | 定子定位 | StatorPosition | 1.0.0.1 | -| 7 | 焊接 | LapWeld | 1.0.0.1 | -| 8 | 工件定位 | Workpiece | 1.0.3.0 | -| 9 | 颗粒尺寸检测 | ParticleSize | 1.0.0.0 | -| 10 | 双目标记检测 | BinocularMarkServer | 1.0.0.4 | -| 11 | 铁路隧道槽道测量 | TunnelChannel | 1.0.0.3 | -| 12 | 螺杆定位 | ScrewPosition | 1.2.4.1 | -| 13 | 包裹拆线位置定位 | BagThreadPosition | 1.0.0.4 | -| 14 | 工件孔定位 | WorkpieceHole | 1.1.6.1 | -| 15 | 轮胎孔定位 | TireHolePose | 1.0.2.1 | -| 16 | 坑孔定位 | HolePitPosition | 无 | -| 17 | 钢筋焊缝定位 | RodWeldSeam | 1.0.0.1 | -| 18 | 无人机螺杆检测服务端 | DroneScrewServer | 1.0.0.6 | -| 19 | 无人机螺杆检测控制端 | DroneScrewCtrlApp | 1.0.0.6 | -| 20 | 砂轮盘孔定位 | DiscHolePose | 1.0.0.1 | -| 21 | 玖瑞工件定位 | JiuruiWorkpiecePose | 1.0.0.1 | - +# 应用列表及说明 + +## 软件对应关系表 + +| 序号 | 项目名称 | App名称 | 版本 | +|:---:|:--------|:---------|:------------| +| 1 | 自动拆包 | GrabBag | 1.3.6.2 | +| 2 | 皮带撕裂 | BeltTearingServer | 2.0.8.1 | +| 3 | 孔洞检测 | HoleDetection | 1.1.6.2 | +| 4 | 棒材定位 | RodAndBarPosition | 1.1.4.4 | +| 5 | 车轮拱高测量 | WheelMeasure | 1.2.2.2 | +| 6 | 定子定位 | StatorPosition | 1.0.0.1 | +| 7 | 焊接 | LapWeld | 1.0.0.1 | +| 8 | 工件定位 | Workpiece | 1.0.3.0 | +| 9 | 颗粒尺寸检测 | ParticleSize | 1.0.0.0 | +| 10 | 双目标记检测 | BinocularMarkServer | 1.0.0.4 | +| 11 | 铁路隧道槽道测量 | TunnelChannel | 1.0.0.3 | +| 12 | 螺杆定位 | ScrewPosition | 1.2.4.1 | +| 13 | 包裹拆线位置定位 | BagThreadPosition | 1.0.0.4 | +| 14 | 工件孔定位 | WorkpieceHole | 1.1.6.1 | +| 15 | 轮胎孔定位 | TireHolePose | 1.0.2.1 | +| 16 | 坑孔定位 | HolePitPosition | 无 | +| 17 | 钢筋焊缝定位 | RodWeldSeam | 1.0.0.1 | +| 18 | 无人机螺杆检测服务端 | DroneScrewServer | 1.0.0.6 | +| 19 | 无人机螺杆检测控制端 | DroneScrewCtrlApp | 1.0.0.6 | +| 20 | 砂轮盘孔定位 | DiscHolePose | 1.0.0.1 | +| 21 | 玖瑞工件定位 | JiuruiWorkpiecePose | 1.0.0.1 | + diff --git a/GrabBagPrj/CalibView.iss b/GrabBagPrj/CalibView.iss index adc53164..6e4fb22f 100644 --- a/GrabBagPrj/CalibView.iss +++ b/GrabBagPrj/CalibView.iss @@ -1,46 +1,46 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! - -#define MyAppName "手眼标定工具" -#define MyAppVersion "1.0.0" -#define MyAppPublisher "" -#define MyAppURL "" -#define MyAppExeName "CalibView.exe" -#define MyProgramPath ".\buildwin\CalibView" - -[Setup] -; NOTE: The value of AppId uniquely identifies this application. -; Do not use the same AppId value in installers for other applications. -; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{F8A7B6C5-D4E3-4F2A-9B1C-0D8E7F6A5B4C}} -AppName={#MyAppName} -AppVersion={#MyAppVersion} -AppVerName={#MyAppName}_V{#MyAppVersion} -AppPublisher={#MyAppPublisher} -AppPublisherURL={#MyAppURL} -AppSupportURL={#MyAppURL} -AppUpdatesURL={#MyAppURL} -DefaultDirName={pf}\{#MyAppName} -DisableProgramGroupPage=yes -OutputBaseFilename={#MyAppName}V{#MyAppVersion} -OutputDir=..\Publish -Compression=lzma -SolidCompression=yes - -[Languages] -Name: "default"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Files] -Source: "{#MyProgramPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs - -[Icons] -Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" -Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon - -[Run] -Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runascurrentuser - -[Code] +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "手眼标定工具" +#define MyAppVersion "1.0.0" +#define MyAppPublisher "" +#define MyAppURL "" +#define MyAppExeName "CalibView.exe" +#define MyProgramPath ".\buildwin\CalibView" + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. +; Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{F8A7B6C5-D4E3-4F2A-9B1C-0D8E7F6A5B4C}} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +AppVerName={#MyAppName}_V{#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DisableProgramGroupPage=yes +OutputBaseFilename={#MyAppName}V{#MyAppVersion} +OutputDir=..\Publish +Compression=lzma +SolidCompression=yes + +[Languages] +Name: "default"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "{#MyProgramPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs + +[Icons] +Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runascurrentuser + +[Code] diff --git a/GrabBagPrj/CloudView.iss b/GrabBagPrj/CloudView.iss index 555b2f4d..3690b3d0 100644 --- a/GrabBagPrj/CloudView.iss +++ b/GrabBagPrj/CloudView.iss @@ -1,48 +1,48 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! - -#define MyAppName "点云查看器" -#define MyAppVersion "1.2.0" -#define MyAppPublisher "" -#define MyAppURL "" -#define MyAppExeName "CloudView.exe" -#define MyProgramPath ".\buildwin\CloudView" - -[Setup] -; NOTE: The value of AppId uniquely identifies this application. -; Do not use the same AppId value in installers for other applications. -; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{A1B2C3D4-E5F6-4A5B-8C9D-0E1F2A3B4C5D}} -AppName={#MyAppName} -AppVersion={#MyAppVersion} -AppVerName={#MyAppName}_V{#MyAppVersion} -AppPublisher={#MyAppPublisher} -AppPublisherURL={#MyAppURL} -AppSupportURL={#MyAppURL} -AppUpdatesURL={#MyAppURL} -DefaultDirName={pf}\{#MyAppName} -DisableProgramGroupPage=yes -OutputBaseFilename={#MyAppName}V{#MyAppVersion} -OutputDir=..\Publish -Compression=lzma -SolidCompression=yes - -[Languages] -Name: "default"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Files] -; Source: "D:\CoalDetect\Profile.ini"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs -Source: "{#MyProgramPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs -; NOTE: Don't use "Flags: ignoreversion" on any shared system files - -[Icons] -Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" -Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon - -[Run] -Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runascurrentuser - -[Code] +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "点云查看器" +#define MyAppVersion "1.2.0" +#define MyAppPublisher "" +#define MyAppURL "" +#define MyAppExeName "CloudView.exe" +#define MyProgramPath ".\buildwin\CloudView" + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. +; Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{A1B2C3D4-E5F6-4A5B-8C9D-0E1F2A3B4C5D}} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +AppVerName={#MyAppName}_V{#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DisableProgramGroupPage=yes +OutputBaseFilename={#MyAppName}V{#MyAppVersion} +OutputDir=..\Publish +Compression=lzma +SolidCompression=yes + +[Languages] +Name: "default"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +; Source: "D:\CoalDetect\Profile.ini"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs +Source: "{#MyProgramPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runascurrentuser + +[Code] diff --git a/GrabBagPrj/ControlApp.iss b/GrabBagPrj/ControlApp.iss index 2d55a508..b3213c46 100644 --- a/GrabBagPrj/ControlApp.iss +++ b/GrabBagPrj/ControlApp.iss @@ -1,47 +1,47 @@ -; Script generated by the Inno Setup Script Wizard. -; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! - -#define MyAppName "演示应用" -#define MyAppVersion "1.0.0" -#define MyAppPublisher "" -#define MyAppURL "" -#define MyAppExeName "ControlApp.exe" -#define MyProgramPath ".\buildwin\ControlApp" - -[Setup] -; NOTE: The value of AppId uniquely identifies this application. -; Do not use the same AppId value in installers for other applications. -; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) -AppId={{A8F3C2D1-9E4B-4A7C-B5D6-1F8E9A2B3C4D}} -AppName={#MyAppName} -AppVersion={#MyAppVersion} -AppVerName={#MyAppName}_V{#MyAppVersion} -AppPublisher={#MyAppPublisher} -AppPublisherURL={#MyAppURL} -AppSupportURL={#MyAppURL} -AppUpdatesURL={#MyAppURL} -DefaultDirName={pf}\{#MyAppName} -DisableProgramGroupPage=yes -OutputBaseFilename={#MyAppName}V{#MyAppVersion} -OutputDir=..\Publish -Compression=lzma -SolidCompression=yes - -[Languages] -Name: "default"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" - -[Tasks] -Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked - -[Files] -Source: "{#MyProgramPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs -; NOTE: Don't use "Flags: ignoreversion" on any shared system files - -[Icons] -Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" -Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon - -[Run] -Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runascurrentuser - -[Code] +; Script generated by the Inno Setup Script Wizard. +; SEE THE DOCUMENTATION FOR DETAILS ON CREATING INNO SETUP SCRIPT FILES! + +#define MyAppName "演示应用" +#define MyAppVersion "1.0.0" +#define MyAppPublisher "" +#define MyAppURL "" +#define MyAppExeName "ControlApp.exe" +#define MyProgramPath ".\buildwin\ControlApp" + +[Setup] +; NOTE: The value of AppId uniquely identifies this application. +; Do not use the same AppId value in installers for other applications. +; (To generate a new GUID, click Tools | Generate GUID inside the IDE.) +AppId={{A8F3C2D1-9E4B-4A7C-B5D6-1F8E9A2B3C4D}} +AppName={#MyAppName} +AppVersion={#MyAppVersion} +AppVerName={#MyAppName}_V{#MyAppVersion} +AppPublisher={#MyAppPublisher} +AppPublisherURL={#MyAppURL} +AppSupportURL={#MyAppURL} +AppUpdatesURL={#MyAppURL} +DefaultDirName={pf}\{#MyAppName} +DisableProgramGroupPage=yes +OutputBaseFilename={#MyAppName}V{#MyAppVersion} +OutputDir=..\Publish +Compression=lzma +SolidCompression=yes + +[Languages] +Name: "default"; MessagesFile: "compiler:Languages\ChineseSimplified.isl" + +[Tasks] +Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}"; GroupDescription: "{cm:AdditionalIcons}"; Flags: unchecked + +[Files] +Source: "{#MyProgramPath}\*"; DestDir: "{app}"; Flags: ignoreversion recursesubdirs +; NOTE: Don't use "Flags: ignoreversion" on any shared system files + +[Icons] +Name: "{commonprograms}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}" +Name: "{commondesktop}\{#MyAppName}"; Filename: "{app}\{#MyAppExeName}"; Tasks: desktopicon + +[Run] +Filename: "{app}\{#MyAppExeName}"; Description: "{cm:LaunchProgram,{#StringChange(MyAppName, '&', '&&')}}"; Flags: nowait postinstall skipifsilent runascurrentuser + +[Code] diff --git a/GrabBagPrj/GrabBagPrj.sln b/GrabBagPrj/GrabBagPrj.sln index 074c3b43..6d113f34 100644 --- a/GrabBagPrj/GrabBagPrj.sln +++ b/GrabBagPrj/GrabBagPrj.sln @@ -1,44 +1,44 @@ - -Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.5.33516.290 -MinimumVisualStudioVersion = 10.0.40219.1 -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ThreadPool", "..\Module\ThreadPool\ThreadPool.vcxproj", "{881F41B5-0FB2-4890-AB1F-F5F2013A22F7}" -EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestThreadPool", "..\Test\TestThreadPool\TestThreadPool.vcxproj", "{0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}" - ProjectSection(ProjectDependencies) = postProject - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7} = {881F41B5-0FB2-4890-AB1F-F5F2013A22F7} - EndProjectSection -EndProject -Global - GlobalSection(SolutionConfigurationPlatforms) = preSolution - Debug|x64 = Debug|x64 - Debug|x86 = Debug|x86 - Release|x64 = Release|x64 - Release|x86 = Release|x86 - EndGlobalSection - GlobalSection(ProjectConfigurationPlatforms) = postSolution - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x64.ActiveCfg = Debug|x64 - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x64.Build.0 = Debug|x64 - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x86.ActiveCfg = Debug|Win32 - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x86.Build.0 = Debug|Win32 - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x64.ActiveCfg = Release|x64 - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x64.Build.0 = Release|x64 - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x86.ActiveCfg = Release|Win32 - {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x86.Build.0 = Release|Win32 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x64.ActiveCfg = Debug|x64 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x64.Build.0 = Debug|x64 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x86.ActiveCfg = Debug|Win32 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x86.Build.0 = Debug|Win32 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x64.ActiveCfg = Release|x64 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x64.Build.0 = Release|x64 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x86.ActiveCfg = Release|Win32 - {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x86.Build.0 = Release|Win32 - EndGlobalSection - GlobalSection(SolutionProperties) = preSolution - HideSolutionNode = FALSE - EndGlobalSection - GlobalSection(ExtensibilityGlobals) = postSolution - SolutionGuid = {9CA02FFA-9326-4C71-A14C-B54AB2F579D9} - EndGlobalSection -EndGlobal + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33516.290 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "ThreadPool", "..\Module\ThreadPool\ThreadPool.vcxproj", "{881F41B5-0FB2-4890-AB1F-F5F2013A22F7}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "TestThreadPool", "..\Test\TestThreadPool\TestThreadPool.vcxproj", "{0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}" + ProjectSection(ProjectDependencies) = postProject + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7} = {881F41B5-0FB2-4890-AB1F-F5F2013A22F7} + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x64.ActiveCfg = Debug|x64 + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x64.Build.0 = Debug|x64 + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x86.ActiveCfg = Debug|Win32 + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Debug|x86.Build.0 = Debug|Win32 + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x64.ActiveCfg = Release|x64 + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x64.Build.0 = Release|x64 + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x86.ActiveCfg = Release|Win32 + {881F41B5-0FB2-4890-AB1F-F5F2013A22F7}.Release|x86.Build.0 = Release|Win32 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x64.ActiveCfg = Debug|x64 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x64.Build.0 = Debug|x64 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x86.ActiveCfg = Debug|Win32 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Debug|x86.Build.0 = Debug|Win32 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x64.ActiveCfg = Release|x64 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x64.Build.0 = Release|x64 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x86.ActiveCfg = Release|Win32 + {0DBD887F-4AAC-4DB6-9706-4C6A43C3BB38}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {9CA02FFA-9326-4C71-A14C-B54AB2F579D9} + EndGlobalSection +EndGlobal diff --git a/GrabBagPrj/project_registry.sh b/GrabBagPrj/project_registry.sh index c92b97e5..207fa435 100644 --- a/GrabBagPrj/project_registry.sh +++ b/GrabBagPrj/project_registry.sh @@ -36,7 +36,7 @@ SCRIPT_DIR="${SCRIPT_DIR:-$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)}" source "${SCRIPT_DIR}/project_meta.sh" -COPY_VZNLSDK="glob|SDK/Device/VzNLSDK/Arm/aarch64/*.so|usr/lib" +COPY_VZNLSDK="glob|Device/SDK/VzNLSDK/Arm/aarch64/*.so|usr/lib" # 复制编译生成的动态库 # 说明:项目内部库绝大多数是静态库(CONFIG += staticlib),已在链接阶段 diff --git a/Test/RsLidarTest/RsLidarTest.pro b/Test/RsLidarTest/RsLidarTest.pro index 23de5294..93138bf8 100644 --- a/Test/RsLidarTest/RsLidarTest.pro +++ b/Test/RsLidarTest/RsLidarTest.pro @@ -1,4 +1,4 @@ -# RsLidarDevice 测试程序 +# RsLidarDevice 娴嬭瘯绋嬪簭 TEMPLATE = app TARGET = RsLidarTest @@ -9,13 +9,13 @@ win32-msvc { QMAKE_CXXFLAGS += /utf-8 } -# 仅依赖 RsLidarDevice 公共接口(不含 rs_driver SDK 头文件) +# 浠呬緷璧?RsLidarDevice 鍏叡鎺ュ彛锛堜笉鍚?rs_driver SDK 澶存枃浠讹級 INCLUDEPATH += $$PWD/../../Device/RsLidarDevice/Inc -# CloudShow 模块 +# CloudShow 妯″潡 INCLUDEPATH += $$PWD/../../Module/CloudShow/Inc -# 项目标准类型(SVzNLPointXYZI 等) +# 椤圭洰鏍囧噯绫诲瀷锛圫VzNLPointXYZI 绛夛級 INCLUDEPATH += $$PWD/../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../Utils/VrUtils/Inc INCLUDEPATH += $$PWD/../../Utils/CloudUtils/Inc @@ -23,15 +23,15 @@ INCLUDEPATH += $$PWD/../../Utils/CloudUtils/Inc SOURCES += \ main.cpp -# PCL + VTK 路径(CloudShow 是静态库,最终 exe 需解析 PCL DLL 符号) -PCL_LIB_DIR = $$PWD/../../SDK/pcl-1.14.0/lib -BOOST_LIB_DIR = $$PWD/../../SDK/pcl-1.14.0/3rdParty/Boost/lib -VTK_LIB_DIR = $$PWD/../../SDK/pcl-1.14.0/3rdParty/VTK/lib +# PCL + VTK 璺緞锛圕loudShow 鏄潤鎬佸簱锛屾渶缁?exe 闇€瑙f瀽 PCL DLL 绗﹀彿锛? +PCL_LIB_DIR = $$PWD/../../Module/SDK/pcl-1.14.0/lib +BOOST_LIB_DIR = $$PWD/../../Module/SDK/pcl-1.14.0/3rdParty/Boost/lib +VTK_LIB_DIR = $$PWD/../../Module/SDK/pcl-1.14.0/3rdParty/VTK/lib -# VTK 版本后缀 +# VTK 鐗堟湰鍚庣紑 VTK_VER = -9.3 -# PCL 库 +# PCL 搴? win32:CONFIG(release, debug|release) { PCL_LIBS = -lpcl_common -lpcl_io -lpcl_visualization PCL_LIBS += -lpcl_filters -lpcl_kdtree -lpcl_search -lpcl_octree -lpcl_sample_consensus @@ -45,7 +45,7 @@ win32:CONFIG(release, debug|release) { VTK_SUFFIX = $${VTK_VER} } -# CloudShow 静态库 +# CloudShow 闈欐€佸簱 UTILS_BUILD = $$PWD/../../GrabBagPrj/build/Utils win32:CONFIG(debug, debug|release) { LIBS += -L../../Device/RsLidarDevice/debug -lRsLidarDevice diff --git a/Test/WDRemoteReceiverTest/WDRemoteReceiverTest.pro b/Test/WDRemoteReceiverTest/WDRemoteReceiverTest.pro index baefeac7..2ea3a452 100644 --- a/Test/WDRemoteReceiverTest/WDRemoteReceiverTest.pro +++ b/Test/WDRemoteReceiverTest/WDRemoteReceiverTest.pro @@ -1,5 +1,5 @@ # WDRemoteReceiverTest.pro -# 测试 WDRemoteReceiver 动态库的简易客户端 App +# 娴嬭瘯 WDRemoteReceiver 鍔ㄦ€佸簱鐨勭畝鏄撳鎴风 App QT += core gui widgets @@ -7,12 +7,12 @@ TARGET = WDRemoteReceiverTest TEMPLATE = app CONFIG += c++17 console -# UTF-8 编码 +# UTF-8 缂栫爜 win32-msvc { QMAKE_CXXFLAGS += /utf-8 } -# 头文件路径 +# 澶存枃浠惰矾寰? INCLUDEPATH += $$PWD/../../Module/WDRemoteReceiver/Inc INCLUDEPATH += $$PWD/../../Utils/VrUtils/Inc INCLUDEPATH += $$PWD/../../Utils/VrUtils/jsoncpp @@ -21,30 +21,30 @@ HEADERS += mainwindow.h SOURCES += main.cpp mainwindow.cpp FORMS += mainwindow.ui -# 库链接 +# 搴撻摼鎺? win32 { CONFIG(debug, debug|release) { LIBS += -L../../Module/WDRemoteReceiver/debug -lWDRemoteReceiver - LIBS += -L../../Module/ZeroMQClient/debug -lZeroMQClient - LIBS += -L../../Module/ZeroMQPubSub/debug -lZeroMQPubSub + LIBS += -L../../VrNets/debug -lZeroMQClient + LIBS += -L../../VrNets/debug -lZeroMQPubSub LIBS += -L../../Utils/VrUtils/debug -lVrUtils - LIBS += -L$$PWD/../../SDK/ZeroMQ/Windows/x64/Debug -llibzmq-v142-mt-gd-4_3_5 + LIBS += -L$$PWD/../../VrNets/SDK/ZeroMQ/Windows/x64/Debug -llibzmq-v142-mt-gd-4_3_5 } else { LIBS += -L../../Module/WDRemoteReceiver/release -lWDRemoteReceiver - LIBS += -L../../Module/ZeroMQClient/release -lZeroMQClient - LIBS += -L../../Module/ZeroMQPubSub/release -lZeroMQPubSub + LIBS += -L../../VrNets/release -lZeroMQClient + LIBS += -L../../VrNets/release -lZeroMQPubSub LIBS += -L../../Utils/VrUtils/release -lVrUtils - LIBS += -L$$PWD/../../SDK/ZeroMQ/Windows/x64/Release -llibzmq-v142-mt-4_3_5 + LIBS += -L$$PWD/../../VrNets/SDK/ZeroMQ/Windows/x64/Release -llibzmq-v142-mt-4_3_5 } LIBS += -lws2_32 } unix:!macx { LIBS += -L$$PWD/../../Module/WDRemoteReceiver -lWDRemoteReceiver - LIBS += -L$$PWD/../../Module/ZeroMQClient -lZeroMQClient - LIBS += -L$$PWD/../../Module/ZeroMQPubSub -lZeroMQPubSub + LIBS += -L$$PWD/../../VrNets -lZeroMQClient + LIBS += -L$$PWD/../../VrNets -lZeroMQPubSub LIBS += -L$$PWD/../../Utils/VrUtils -lVrUtils - LIBS += -L$$PWD/../../SDK/ZeroMQ/Arm/aarch64 -lzmq + LIBS += -L$$PWD/../../VrNets/SDK/ZeroMQ/Arm/aarch64 -lzmq OPENCV_LIB_DIR = $$PWD/../../SDK/OpenCV320/Arm/aarch64 LIBS += -L$${OPENCV_LIB_DIR} -lopencv_imgcodecs -lopencv_core QMAKE_LFLAGS += -Wl,-rpath-link,$${OPENCV_LIB_DIR} diff --git a/Test/tcpserver/tcpserver_test.pro b/Test/tcpserver/tcpserver_test.pro index 284a60d9..d89d4a0d 100644 --- a/Test/tcpserver/tcpserver_test.pro +++ b/Test/tcpserver/tcpserver_test.pro @@ -23,13 +23,13 @@ win32 { } win32:CONFIG(debug, debug|release) { - LIBS += -L../../VrNets/debug -lVrTCPServer + LIBS += -L../../VrNets/debug -lVrTcpServer LIBS += -L../../Utils/VrUtils/debug -lVrUtils }else:win32:CONFIG(release, debug|release){ - LIBS += -L../../VrNets/release -lVrTCPServer + LIBS += -L../../VrNets/release -lVrTcpServer LIBS += -L../../Utils/VrUtils/release -lVrUtils }else:unix:!macx { - LIBS += -L../../VrNets -lVrTCPServer + LIBS += -L../../VrNets -lVrTcpServer LIBS += -L../../VrUtils -lVrUtils # 添加系统库依赖 diff --git a/Tools/CalibView/CalibView.pro b/Tools/CalibView/CalibView.pro index 90619a9f..6c90ec63 100644 --- a/Tools/CalibView/CalibView.pro +++ b/Tools/CalibView/CalibView.pro @@ -1,10 +1,10 @@ -# CalibView - 手眼标定工具 +# CalibView - 鎵嬬溂鏍囧畾宸ュ叿 QT += core gui widgets CONFIG += c++17 #console CONFIG -= app_bundle -# Windows平台UTF-8编码支持 +# Windows骞冲彴UTF-8缂栫爜鏀寔 win32-msvc { QMAKE_CXXFLAGS += /utf-8 QMAKE_CXXFLAGS += /bigobj @@ -13,34 +13,34 @@ win32-msvc { TARGET = CalibView TEMPLATE = app -# 项目目录 +# 椤圭洰鐩綍 INCLUDEPATH += $$PWD/Inc INCLUDEPATH += $$PWD/../../Module/HandEyeCalib/Inc INCLUDEPATH += $$PWD/../../Module/HandEyeCalib/_Inc INCLUDEPATH += $$PWD/../../Utils/VrCommon/Inc INCLUDEPATH += $$PWD/../../SDK/eigen-3.3.9 -# VrEyeView 集成 +# VrEyeView 闆嗘垚 INCLUDEPATH += $$PWD/../VrEyeView/Inc INCLUDEPATH += $$PWD/../../Module/ChessboardDetector/Inc INCLUDEPATH += $$PWD/../../Device/VrEyeDevice/Inc -# VzNLSDK 头文件路径 -INCLUDEPATH += $$PWD/../../SDK/Device/VzNLSDK/Inc +# VzNLSDK 澶存枃浠惰矾寰? +INCLUDEPATH += $$PWD/../../Device/SDK/VzNLSDK/Inc -# RobotView 集成 +# RobotView 闆嗘垚 INCLUDEPATH += $$PWD/../RobotView INCLUDEPATH += $$PWD/../../Robot/FairinoWrapper INCLUDEPATH += $$PWD/../../SDK/Robot/fairino-cpp-sdk/libfairino/src/include/Robot-CN INCLUDEPATH += $$PWD/../../SDK/Robot/fairino-cpp-sdk/libfairino/src/include -# 定义静态库模式(不导入) +# 瀹氫箟闈欐€佸簱妯″紡锛堜笉瀵煎叆锛? DEFINES += FAIRINO_WRAPPER_LIB -# OpenCV 配置 +# OpenCV 閰嶇疆 INCLUDEPATH += $$PWD/../../SDK/OpenCV320/include -# 头文件 +# 澶存枃浠? HEADERS += \ Inc/CalibViewMainWindow.h \ Inc/CalibDataWidget.h \ @@ -49,7 +49,7 @@ HEADERS += \ ../RobotView/MainWindow.h \ ../VrEyeView/Inc/VrEyeViewWidget.h -# 源文件 +# 婧愭枃浠? SOURCES += \ main.cpp \ Src/CalibViewMainWindow.cpp \ @@ -59,13 +59,13 @@ SOURCES += \ ../RobotView/MainWindow.cpp \ ../VrEyeView/Src/VrEyeViewWidget.cpp -# 资源文件 +# 璧勬簮鏂囦欢 RESOURCES += resource/resource.qrc -# Windows 应用图标 +# Windows 搴旂敤鍥炬爣 RC_ICONS = resource/logo.ico -# Windows平台库链接 +# Windows骞冲彴搴撻摼鎺? win32:CONFIG(release, debug|release): { LIBS += -L../../Module/HandEyeCalib/release -lHandEyeCalib LIBS += -L../../Utils/VrCommon/release -lVrCommon @@ -89,7 +89,7 @@ else:win32:CONFIG(debug, debug|release): { LIBS += -L$$PWD/../../SDK/OpenCV320/Windows/vc14/Release -lopencv_world320 } -# Unix平台库链接 +# Unix骞冲彴搴撻摼鎺? unix { LIBS += -L../../Module/HandEyeCalib -lHandEyeCalib LIBS += -L../../Utils/VrCommon -lVrCommon @@ -103,19 +103,19 @@ unix { } win32:CONFIG(release, debug|release): { - LIBS += -L$$PWD/../../SDK/Device/VzNLSDK/Windows/x64/Release + LIBS += -L$$PWD/../../Device/SDK/VzNLSDK/Windows/x64/Release LIBS += -lVzKernel -lVzNLDetect -lVzNLGraphics } else:win32:CONFIG(debug, debug|release): { - LIBS += -L$$PWD/../../SDK/Device/VzNLSDK/Windows/x64/Debug + LIBS += -L$$PWD/../../Device/SDK/VzNLSDK/Windows/x64/Debug LIBS += -lVzKerneld -lVzNLDetectd -lVzNLGraphicsd } else:unix:!macx: { - LIBS += -L$$PWD/../../SDK/Device/VzNLSDK/Arm/aarch64 + LIBS += -L$$PWD/../../Device/SDK/VzNLSDK/Arm/aarch64 LIBS += -lVzEyeSecurityLoader-shared -lVzKernel -lVzNLDetect -lVzNLGraphics } -# Windows系统库 +# Windows绯荤粺搴? win32 { LIBS += -lAdvapi32 LIBS += -lws2_32 diff --git a/Tools/ControlApp/ControlApp.pro b/Tools/ControlApp/ControlApp.pro index a4cbdd22..43877095 100644 --- a/Tools/ControlApp/ControlApp.pro +++ b/Tools/ControlApp/ControlApp.pro @@ -4,16 +4,16 @@ greaterThan(QT_MAJOR_VERSION, 4): QT += widgets CONFIG += c++17 -# 强制使用UTF-8编码 +# 寮哄埗浣跨敤UTF-8缂栫爜 QMAKE_CXXFLAGS += /utf-8 -# 定义版本号 +# 瀹氫箟鐗堟湰鍙? DEFINES += APP_VERSION=\\\"1.0.0\\\" -# 定义静态库模式(不导入) +# 瀹氫箟闈欐€佸簱妯″紡锛堜笉瀵煎叆锛? DEFINES += FAIRINO_WRAPPER_LIB -# 输出目录配置(由主项目决定) +# 杈撳嚭鐩綍閰嶇疆锛堢敱涓婚」鐩喅瀹氾級 CONFIG(debug, debug|release) { TARGET = ControlAppd } else { @@ -38,21 +38,21 @@ FORMS += \ mainwindow.ui \ dialogconfig.ui -# 包含路径 +# 鍖呭惈璺緞 INCLUDEPATH += \ $$PWD/../../AppUtils/AppCommon/Inc \ $$PWD/../../AppUtils/UICommon/Inc \ - $$PWD/../../Module/ModbusTCPClient/Inc \ + $$PWD/../../VrNets/ModbusTCPClient/Inc \ $$PWD/../../Robot/FairinoWrapper \ $$PWD/../../SDK/Robot/fairino-cpp-sdk/libfairino/src/include/Robot-CN \ $$PWD/../../SDK/Robot/fairino-cpp-sdk/libfairino/src/include \ $$PWD/../../VrUtils/Inc -# Windows平台库链接 +# Windows骞冲彴搴撻摼鎺? win32:CONFIG(release, debug|release): { LIBS += -L$$OUT_PWD/../../AppUtils/AppCommon/release -lAppCommon LIBS += -L$$OUT_PWD/../../AppUtils/UICommon/release -lUICommon - LIBS += -L$$OUT_PWD/../../Module/ModbusTCPClient/release -lModbusTCPClient + LIBS += -L$$OUT_PWD/../../VrNets/release -lModbusTCPClient LIBS += -L$$OUT_PWD/../../Utils/VrUtils/release -lVrUtils LIBS += -L$$OUT_PWD/../../Robot/FairinoWrapper/release/ -lFairinoWrapper LIBS += -L$$OUT_PWD/../../SDK/Robot/fairino-cpp-sdk/libfairino/release/ -lfairino @@ -60,23 +60,23 @@ win32:CONFIG(release, debug|release): { else:win32:CONFIG(debug, debug|release): { LIBS += -L$$OUT_PWD/../../AppUtils/AppCommon/debug -lAppCommond LIBS += -L$$OUT_PWD/../../AppUtils/UICommon/debug -lUICommond - LIBS += -L$$OUT_PWD/../../Module/ModbusTCPClient/debug -lModbusTCPClientd + LIBS += -L$$OUT_PWD/../../VrNets/debug -lModbusTCPClient LIBS += -L$$OUT_PWD/../../Utils/VrUtils/debug -lVrUtilsd LIBS += -L$$OUT_PWD/../../Robot/FairinoWrapper/debug/ -lFairinoWrapperd LIBS += -L$$OUT_PWD/../../SDK/Robot/fairino-cpp-sdk/libfairino/debug/ -lfairinod } -# Windows系统库 +# Windows绯荤粺搴? win32 { LIBS += -lws2_32 } -# Windows任务栏图标配置 +# Windows浠诲姟鏍忓浘鏍囬厤缃? win32 { RC_ICONS = logo.ico } -# 资源文件 +# 璧勬簮鏂囦欢 RESOURCES += \ $$PWD/../../AppUtils/UICommon/common_resources.qrc \ resource.qrc diff --git a/Tools/ControlApp/README.md b/Tools/ControlApp/README.md index 3a241630..420f123c 100644 --- a/Tools/ControlApp/README.md +++ b/Tools/ControlApp/README.md @@ -1,52 +1,52 @@ -# 主控程序 - -主控程序作为主调度,协调控制器(ModbusTCP)和机械臂(Fairino)完成自动化抓取放置流程。 - -## 功能特点 - -1. **ModbusTCP客户端** - 连接控制器(默认192.168.0.88:502) -2. **Fairino机械臂控制** - 连接机械臂(默认192.168.58.2) -3. **8步工作流程** - 自动化抓取放置循环 -4. **流程可视化** - 实时显示工作状态 -5. **配置管理** - 运行时修改参数 - -## 工作流程 - -1. 机械臂运行到准备位置(可配置) -2. 触发控制器检测(写ModbusTCP寄存器) -3. 等待检测完成(轮询状态) -4. 读取目标坐标XYZ RPY并显示 -5. 机械臂移动到抓取位置 -6. 执行抓取 -7. 机械臂移动到放置位置(可配置) -8. 执行放置 -9. 循环执行,直到停止或失败 - -## 编译 - -```bash -cd Tools/DemoControlApp -qmake DemoControlApp.pro -nmake release -``` - -## 配置 - -点击界面上的"配置"按钮可修改: -- 控制器IP和端口 -- 机械臂IP -- 准备位置(XYZ + RPY) -- 放置位置(XYZ + RPY) -- 抓取Z轴偏移 - -## 依赖 - -- AppCommon -- UICommon -- ModbusTCPClient -- FairinoRobotWrapper -- VrUtils - -## 协议参考 - -ModbusTCP协议参考:`App/StatorPosition/Doc/定子线圈ModbusTCP协议.md` +# 主控程序 + +主控程序作为主调度,协调控制器(ModbusTCP)和机械臂(Fairino)完成自动化抓取放置流程。 + +## 功能特点 + +1. **ModbusTCP客户端** - 连接控制器(默认192.168.0.88:502) +2. **Fairino机械臂控制** - 连接机械臂(默认192.168.58.2) +3. **8步工作流程** - 自动化抓取放置循环 +4. **流程可视化** - 实时显示工作状态 +5. **配置管理** - 运行时修改参数 + +## 工作流程 + +1. 机械臂运行到准备位置(可配置) +2. 触发控制器检测(写ModbusTCP寄存器) +3. 等待检测完成(轮询状态) +4. 读取目标坐标XYZ RPY并显示 +5. 机械臂移动到抓取位置 +6. 执行抓取 +7. 机械臂移动到放置位置(可配置) +8. 执行放置 +9. 循环执行,直到停止或失败 + +## 编译 + +```bash +cd Tools/DemoControlApp +qmake DemoControlApp.pro +nmake release +``` + +## 配置 + +点击界面上的"配置"按钮可修改: +- 控制器IP和端口 +- 机械臂IP +- 准备位置(XYZ + RPY) +- 放置位置(XYZ + RPY) +- 抓取Z轴偏移 + +## 依赖 + +- AppCommon +- UICommon +- ModbusTCPClient +- FairinoRobotWrapper +- VrUtils + +## 协议参考 + +ModbusTCP协议参考:`App/StatorPosition/Doc/定子线圈ModbusTCP协议.md` diff --git a/Tools/VrEyeView/VrEyeView.pro b/Tools/VrEyeView/VrEyeView.pro index ff8f66fe..ce58fa59 100644 --- a/Tools/VrEyeView/VrEyeView.pro +++ b/Tools/VrEyeView/VrEyeView.pro @@ -1,10 +1,10 @@ -# VrEyeView - 相机图像查看与标定板检测工具 +# VrEyeView - 鐩告満鍥惧儚鏌ョ湅涓庢爣瀹氭澘妫€娴嬪伐鍏? QT += core gui widgets CONFIG += c++17 CONFIG -= app_bundle -# Windows平台UTF-8编码支持 +# Windows骞冲彴UTF-8缂栫爜鏀寔 win32-msvc { QMAKE_CXXFLAGS += /utf-8 QMAKE_CXXFLAGS += /bigobj @@ -13,7 +13,7 @@ win32-msvc { TARGET = VrEyeView TEMPLATE = app -# 项目目录 +# 椤圭洰鐩綍 INCLUDEPATH += $$PWD/Inc INCLUDEPATH += $$PWD/../../Device/VrEyeDevice/Inc INCLUDEPATH += $$PWD/../../Device/VrEyeDevice/_Inc @@ -21,34 +21,34 @@ INCLUDEPATH += $$PWD/../../Module/ChessboardDetector/Inc INCLUDEPATH += $$PWD/../../Module/ChessboardDetector/_Inc INCLUDEPATH += $$PWD/../../Utils/VrCommon/Inc -# VzNLSDK 头文件路径 -INCLUDEPATH += $$PWD/../../SDK/Device/VzNLSDK/Inc +# VzNLSDK 澶存枃浠惰矾寰? +INCLUDEPATH += $$PWD/../../Device/SDK/VzNLSDK/Inc -# 头文件 +# 澶存枃浠? HEADERS += \ Inc/VrEyeViewWidget.h -# 源文件 +# 婧愭枃浠? SOURCES += \ main.cpp \ Src/VrEyeViewWidget.cpp win32:CONFIG(release, debug|release): { - LIBS += -L$$PWD/../../SDK/Device/VzNLSDK/Windows/x64/Release + LIBS += -L$$PWD/../../Device/SDK/VzNLSDK/Windows/x64/Release LIBS += -lVzKernel -lVzNLDetect -lVzNLGraphics } else:win32:CONFIG(debug, debug|release): { - LIBS += -L$$PWD/../../SDK/Device/VzNLSDK/Windows/x64/Debug + LIBS += -L$$PWD/../../Device/SDK/VzNLSDK/Windows/x64/Debug LIBS += -lVzKerneld -lVzNLDetectd -lVzNLGraphicsd } else:unix:!macx: { - LIBS += -L$$PWD/../../SDK/Device/VzNLSDK/Arm/aarch64 + LIBS += -L$$PWD/../../Device/SDK/VzNLSDK/Arm/aarch64 LIBS += -lVzEyeSecurityLoader-shared -lVzKernel -lVzNLDetect -lVzNLGraphics } -# OpenCV 配置 +# OpenCV 閰嶇疆 win32:CONFIG(release, debug|release): { LIBS += -L$$PWD/../../SDK/OpenCV320/Windows/vc14/Release -lopencv_world320 } @@ -59,7 +59,7 @@ else:unix:!macx: { LIBS += -L$$PWD/../../SDK/OpenCV320/Arm/aarch64 -lopencv_core -lopencv_imgproc -lopencv_highgui } -# Windows平台库链接 +# Windows骞冲彴搴撻摼鎺? win32:CONFIG(release, debug|release): { LIBS += -L../../Utils/CloudUtils/release -lCloudUtils LIBS += -L../../Device/VrEyeDevice/release -lVrEyeDevice @@ -75,16 +75,16 @@ else:win32:CONFIG(debug, debug|release): { LIBS += -L../../Utils/VrUtils/debug -lVrUtils } -# Unix平台库链接 +# Unix骞冲彴搴撻摼鎺? unix { LIBS += -L../../Device/VrEyeDevice -lVrEyeDevice LIBS += -L../../Module/ChessboardDetector -lChessboardDetector LIBS += -L../../Utils/VrCommon -lVrCommon - LIBS += -L$$PWD/../../SDK/VzNLSDK/Linux/Arm/aarch64/lib -lVzKernel + LIBS += -L$$PWD/../../Device/SDK/VzNLSDK/Arm/aarch64 -lVzKernel QMAKE_CXXFLAGS += -fPIC } -# Windows系统库 +# Windows绯荤粺搴? win32 { LIBS += -lAdvapi32 LIBS += -lws2_32