Windows 环境 OCCT 8.0 编译构建及与 Qt6 项目集成

发布时间:2026/9/28 12:18:15

Windows 环境 OCCT 8.0 编译构建及与 Qt6 项目集成
一、所需工具工具版本说明Visual Studio2022 (Professional)编译器CMake3.31.12构建工具Qt6.11用于后续界面开发注意安装过程简单此处不再赘述。工具包Qt 镜像安装推荐使用国内源加速在qt-online-installer-windows-x64-4.11.0.exe所在文件夹按住Shift 鼠标右键选择“打开 PowerShell 窗口”。执行以下命令.\qt-online-installer-windows-x64-4.11.0.exe--mirror https://mirrors.ustc.edu.cn/qtproject二、准备工作2.1 下载源码与第三方库OCCT 源码下载 V8_0_0.zip第三方库3rdparty下载 vc14-64 版本2.2 创建目录结构建议在某个工作目录如E:/OCCT下创建以下三个文件夹3rdparty、occt-build-vs2022-x64、occt-installOCCT/ ├── 3rdparty # 一系列第三方库 ├── angle-gles2-2.1.0-vc14-64i/ ... └── zlib-1.2.8-vc14-64/ ├── OCCT-8_0_0 # OCCT源码 ├── .github/ ... └── README.md ├── occt-build-vs2022-x64/ # occt构建文件夹 └── occt-install/ # occt 安装文件夹关键依赖FreeType和Tcl/Tk是必须的其他按需启用。三、使用 CMake 生成 VS 2022 解决方案3.1 启动 CMake-GUI设置源码路径为E:/OCCT/OCCT-8_0_0设置构建路径为E:/OCCT/occt-build-vs2022-x64点击Configure选择Visual Studio 17 2022平台x643.2 配置第三方库路径首次 Configure 后会报红需要填写以下变量变量名值3RDPARTY_DIRE:/OCCT/3rdparty3RDPARTY_TCL_DIRE:/OCCT/3rdparty/tcltk-8.6.15-x643RDPARTY_TK_DIRE:/OCCT/3rdparty/tcltk-8.6.15-x64INSTALL_DIRE:/OCCT/occt-install再次点击Configure直至红色全部消失。3.3 生成项目点击Generate看到Generating done即成功。四、使用 Visual Studio 2022 编译 OCCT4.1 打开解决方案进入occt-build-vs2022-x64文件夹双击OCCT.sln使用 VS2022 打开。4.2 选择配置并编译在 VS 顶部工具栏选择Release也可先 Debug本文以 Release 为例在解决方案资源管理器中右键解决方案 ‘OCCT’ (69个项目)→生成解决方案等待约 15 分钟视机器性能而定4.3 安装部署到 occt-install右键项目INSTALL→仅用于项目→仅生成 INSTALL完成后occt-install目录结构应如下occt-install/ ├── bin/ # Release 动态库 ├── bind/ # Debug 动态库 ├── inc/ # 所有头文件 ├── lib/ # Release 导入库 └── libd/ # Debug 导入库至此 OCCT 编译安装完成 ✅五、在自己的 Qt 项目中集成 OCCT5.1 推荐的项目目录结构occt_project/ ├── 3rdparty # 第三方库 └── occt/ ├── bin/ # release 动态库 ├── bind/ # debug 动态库 ├── inc/ # 头文件 ├── lib/ # release 链接库 └── libd/ # debug 链接库 ├── bin # 项目输出文件 ├── Debug/ └── Release/ └── occt_project.exe # 最终输出文件 ├── build/ # 项目中间文件 └── src/ # 项目源码5.2 CMakeLists.txt 模板cmake_minimum_required(VERSION 3.19) project(occt_project LANGUAGES CXX) find_package(Qt6 6.5 REQUIRED COMPONENTS Core Widgets) qt_standard_project_setup() # 设置输出目录与项目目录平行 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/../bin/$CONFIG) qt_add_executable(occt_project WIN32 MACOSX_BUNDLE main.cpp mainwindow.cpp mainwindow.h mainwindow.ui ) target_link_libraries(occt_project PRIVATE Qt::Core Qt::Widgets ) # 集成 OCCT set(OCCT_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/../3rdparty/occt) # 头文件 target_include_directories(occt_project PRIVATE ${OCCT_ROOT}/inc) # 库搜索路径 target_link_directories(occt_project PRIVATE ${OCCT_ROOT}/lib) # 自动链接所有 lib 和 libd file(GLOB OCCT_LIBS_DEBUG ${OCCT_ROOT}/libd/*.lib) file(GLOB OCCT_LIBS_RELEASE ${OCCT_ROOT}/lib/*.lib) target_link_libraries(occt_project PRIVATE $$CONFIG:Debug:${OCCT_LIBS_DEBUG} $$NOT:$CONFIG:Debug:${OCCT_LIBS_RELEASE} ) # Qt 部署自动复制 Qt 动态库 qt_generate_deploy_app_script( TARGET occt_project OUTPUT_SCRIPT deploy_script NO_UNSUPPORTED_PLATFORM_ERROR ) install(SCRIPT ${deploy_script})说明上述配置会自动为 Debug 链接libd/*.libRelease 链接lib/*.lib。运行时需要将3rdparty/occt/bin/或bind/中的 DLL 复制到 exe 同目录或者添加 PATH 环境变量。5.3 验证 OCCT 是否工作在任意源文件中加入以下测试函数并调用例如在mainwindow构造函数或按钮槽中#includeBRepPrimAPI_MakeBox.hxx#includeBRepGProp.hxx#includeGProp_GProps.hxx#includeQDebugvoidtestOCCT(){BRepPrimAPI_MakeBoxbox(10.0,20.0,30.0);TopoDS_Shape shapebox.Shape();GProp_GProps props;BRepGProp::VolumeProperties(shape,props);doublevolumeprops.Mass();qDebug()Box volume:volume;// 应输出 6000}编译运行后控制台输出6000即表示集成成功。项目源码对你有用就点个赞以后需要用到就收藏⭐

相关新闻

基于DirectX Raytracing的实时光线追踪实践:从DXR API到渲染管线搭建

基于DirectX Raytracing的实时光线追踪实践:从DXR API到渲染管线搭建

2026/8/28 16:22:22

1. 项目概述:从光栅化到光线追踪的视觉革命如果你是一名图形程序员,或者对游戏画面、电影特效背后的技术着迷,那么“光线追踪”这个词对你来说一定不陌生。它早已不是实验室里的概念,而是从《赛博朋克2077》到《我的世界》RTX版&a…

VGGT全网独家复现|交替注意力Transformer赋能多视图3D感知、精准提升相机位姿估计与稠密重建精度、适配三维建模与SLAM任务

VGGT全网独家复现|交替注意力Transformer赋能多视图3D感知、精准提升相机位姿估计与稠密重建精度、适配三维建模与SLAM任务

2026/8/27 9:23:43

目录 一、传统3D视觉流水线核心痛点与VGGT革新价值 二、VGGT整体架构与核心设计理念 2.1 核心设计思想 2.2 五层完整架构总览 三、VGGT核心模块深度拆解 3.1 DINO特征初始化与Token编码机制 3.2 核心创新:帧内+全局交替注意力机制 3.3 四大多任务预测头解析 四、VGGT…

【高德开放平台skill】从拍脑袋到看数据,我是如何把一个“选址直觉“做成 AI Skill 的

【高德开放平台skill】从拍脑袋到看数据,我是如何把一个“选址直觉“做成 AI Skill 的

2026/8/29 8:06:28

AI 高德地图做一个商铺选址分析工具创业圈里有句话:“选址定生死”。 有个做线下连锁品牌的朋友常说,选到一个好铺位,生意就成了一半;选错了,再努力也是给房东打工。但每次听他们聊选址,聊到最后往往都是…

CANN/GE ACL数据集缓冲区添加函数

CANN/GE ACL数据集缓冲区添加函数

2026/9/28 4:08:17

aclmdlAddDatasetBuffer 【免费下载链接】ge GE(Graph Engine)是面向昇腾的图编译器和执行器,提供了计算图优化、多流并行、内存复用和模型下沉等技术手段,加速模型执行效率,减少模型内存占用。 GE 提供对 PyTorch、Te…

用ffmpeg高效批量调整图片尺寸的实战指南

用ffmpeg高效批量调整图片尺寸的实战指南

2026/9/27 1:30:29

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱

2026/9/28 2:15:29

Transformers 音频特征提取工具库 audio_utils 全解析:从 Mel 刻度换算到对数 Mel 频谱 【免费下载链接】transformers 🤗 Transformers: the model-definition framework for state-of-the-art machine learning models in text, vision, audio, and mu…

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南

2026/9/28 3:14:54

RustFS 多节点集群重启与滚动升级实战:Readiness、Quorum 与 Degraded 模式完全指南 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system sup…

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

Java Integer缓存揭秘:128陷阱原理、避坑与面试全解

2026/9/28 3:58:00

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据

2026/9/28 3:47:14

RustFS Scanner 数据用量发布权威性决策:配额准入如何获得可用的权威依据 【免费下载链接】rustfs 🚀2.3x faster than MinIO for 4KB object payloads. RustFS is an open-source, S3-compatible high-performance object storage system supporting mi…

远程协作的工作台整理

远程协作的工作台整理

2026/9/26 14:29:04

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/28 5:05:21

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/26 23:35:16

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…