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到渲染管线搭建

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

2026/10/5 13:10:30 阅读更多 →
OBS面部追踪插件:让你的直播镜头自动跟随人脸移动

OBS面部追踪插件:让你的直播镜头自动跟随人脸移动

OBS面部追踪插件:让你的直播镜头自动跟随人脸移动 【免费下载链接】obs-face-tracker Face tracking plugin for OBS Studio 项目地址: https://gitcode.com/gh_mirrors/ob/obs-face-tracker 在直播、在线教学或视频录制时,你是否经常需要手动调整…

2026/9/28 18:57:39 阅读更多 →
5分钟搞定:Chrome浏览器视频下载插件的终极使用指南

5分钟搞定:Chrome浏览器视频下载插件的终极使用指南

5分钟搞定:Chrome浏览器视频下载插件的终极使用指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 还在为网页视频无法保存而烦恼…

2026/10/2 1:05:27 阅读更多 →

最新新闻

FreeRTOS MDK Demo开箱直编:从编译到命令行调试实战

FreeRTOS MDK Demo开箱直编:从编译到命令行调试实战

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

2026/10/15 19:51:57 阅读更多 →
JS工程实战资源包:手写Promise、深拷贝与事件循环

JS工程实战资源包:手写Promise、深拷贝与事件循环

简介:面向初学者的 GitHub 综合入门指南,围绕版本控制、开源协作与 JavaScript 开发展开,帮助新用户快速上手托管代码、管理项目与参与开源。压缩包共 12 个文件,主要以 HTML 页面呈现,辅以 JavaScript 脚本、图片及配…

2026/10/15 19:51:57 阅读更多 →
MySQL性能排查实战:从慢查询日志到EXPLAIN的优化指南

MySQL性能排查实战:从慢查询日志到EXPLAIN的优化指南

MySQL突然变慢是排查故障里最常见的场景之一。接口响应从几十毫秒涨到几秒,数据库CPU告警,开发群和运维群同时炸锅。我处理过不少类似的问题,最后发现绝大多数性能瓶颈不是服务器配置不够,而是几条SQL会话拖了后腿,走错…

2026/10/15 19:51:57 阅读更多 →
VC++实现重装机兵:Win32游戏源码解析与二次开发实战

VC++实现重装机兵:Win32游戏源码解析与二次开发实战

简介:VC版《重装机兵》(MetalMax)是一份将可执行游戏程序与完整C/DirectX源码打包在一起的学习型资源,适合希望了解经典JRPG实现方式、锻炼游戏编程能力的开发者和怀旧玩家。该项目以FC版《重装机兵》为蓝本,采用VC8.0…

2026/10/15 19:51:57 阅读更多 →
乘用车价格战下的量价趋势分析与价格策略:从数据口径到弹性测算

乘用车价格战下的量价趋势分析与价格策略:从数据口径到弹性测算

简介:报告聚焦中国乘用车市场的量价趋势与价格策略,面向汽车行业研究、营销管理及新能源产业链投资等领域。基于2023年乘用车销量近2171万辆、新能源渗透率36%的背景,报告系统梳理了燃油车与新能源车市场的量价分化:燃油车平均优惠…

2026/10/15 19:51:57 阅读更多 →
文本匹配中的双塔模型:从原理到工程实践全解析

文本匹配中的双塔模型:从原理到工程实践全解析

文本匹配里那组“双塔”,其实水很深。别急着反驳,我知道一提到双塔,很多人第一反应就是推荐系统里的用户向量和物品向量。但放到自然语言处理里,双塔结构的另一个名字,就是今天要聊的“表示型模型”。它干的事情很纯粹…

2026/10/15 19:50:55 阅读更多 →

日新闻

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

Docker Compose 容器化部署 ChirpStack LoRaWAN 网络服务器实战

1. 为什么选择容器化方式部署 LoRa 网络服务LoRa 物联网项目落地时,网络服务器是整个链路的核心枢纽。它负责接收网关上报的数据包、完成去重与解密、再把有效载荷分发给上层应用。早期大家习惯把网络服务器直接装在物理机上,依赖一堆系统库和特定版本的…

2026/10/15 0:00:46 阅读更多 →
共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

共享LLM服务下的跨模型自动扩缩容:Kubernetes实战与避坑指南

1. 共享推理服务里,扩缩容到底难在哪做过大模型推理服务部署的人,大概都经历过这样的场景:一个团队共用一套推理集群,A 业务跑的是 7B 的小模型,B 业务跑的是 72B 的大模型,C 业务白天流量高、晚上几乎归零…

2026/10/15 0:00:46 阅读更多 →
Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

Systemd 启动阶段根文件系统只读之谜:fstab 与 remount-fs 服务深度解析

1. 引子:一次内核恐慌引发的追查先从一个真实场景说起。某次我给一台老旧的嵌入式设备折腾系统裁减,为了把启动时间压进两秒以内,我手贱地把一串自认为“没用”的 systemd 服务给 disable 了,其中就包括systemd-remount-fs.servic…

2026/10/15 0:00:46 阅读更多 →

周新闻

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

流感时间序列预测实战:ARIMA/LSTM全流程拆解与避坑指南

简介:基于 ARIMA、LSTM、Transformer 等模型的流感时间序列预测 Python 源码,面向计算机相关专业课程设计与期末大作业学生,以及项目实战学习者。内容覆盖预处理、平稳性检验、定阶、残差分析、多模型对比预测的完整时序建模流程,…

2026/10/15 16:18:54 阅读更多 →
影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别

影刀RPA新手教程:键盘模拟输入实战——输入文本与模拟按键的区别 做影刀RPA自动化,十个新手有八个栽在"往输入框里填东西"这件事上:要么填不进去,要么填了一半,要么直接把原来内容追加在后面。这背后的根因&…

2026/10/15 19:41:51 阅读更多 →
影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容

影刀RPA新手教程:阅文起点小说数据采集实战——书籍信息与章节内容 1. 认识影刀:什么场景该用RPA采小说数据 起点中文网的页面结构相对稳定——分类榜单、书籍详情、章节内容三块独立页面,跳转链路清晰。这种场景非常适合影刀自动化&#x…

2026/10/15 13:48:15 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

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

2026/10/15 0:14:36 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

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

2026/10/14 22:45:47 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

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

2026/10/15 9:49:14 阅读更多 →