更新Prj下的打包库路径,Test Tools的依赖库路径
This commit is contained in:
parent
ad2d39270f
commit
b6b81d4184
@ -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/` 里的库。
|
||||
|
||||
@ -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"
|
||||
|
||||
|
@ -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
|
||||
}
|
||||
|
||||
|
||||
@ -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<QPair<QString, QString>>& fields);
|
||||
void setEmptyText(const QString& text);
|
||||
|
||||
|
||||
@ -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<QPair<QString, QString>>& fields)
|
||||
@ -109,10 +110,8 @@ void SingleTargetResultWidget::setFields(const QList<QPair<QString, QString>>& 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<QPair<QString, QString>>& 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);
|
||||
}
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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 |
|
||||
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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]
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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),已在链接阶段
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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}
|
||||
|
||||
@ -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
|
||||
|
||||
# 添加系统库依赖
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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
|
||||
|
||||
@ -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`
|
||||
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user