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/8/29 10:42:32 阅读更多 →
OBS面部追踪插件:让你的直播镜头自动跟随人脸移动

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

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

2026/8/28 4:11:14 阅读更多 →
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/8/19 16:47:37 阅读更多 →

最新新闻

搜狐畅游游戏开发实习生笔试真题详解与考点分析

搜狐畅游游戏开发实习生笔试真题详解与考点分析

2017年5月26号那场笔试,我到现在还记得。当时我在北京某高校的机房,屏幕上打开搜狐畅游的在线笔试系统,前面两页个人信息刚填完,第三页直接甩过来一套混合题——单选、多选、填空、简答、两道编程题,限时两个小时。同场…

2026/8/29 21:53:12 阅读更多 →
外观模式:简化复杂系统交互的架构设计模式详解

外观模式:简化复杂系统交互的架构设计模式详解

1. 外观模式:化繁为简的架构艺术在软件开发的日常里,我们常常会面对一个令人头疼的场景:一个复杂的子系统,内部由数十个类、接口和错综复杂的调用关系构成。比如,你要开发一个智能家居的控制中心,需要联动灯…

2026/8/29 21:53:12 阅读更多 →
数学建模竞赛全流程实战指南:从组队到论文写作的避坑策略

数学建模竞赛全流程实战指南:从组队到论文写作的避坑策略

1. 从零到一:我的建模竞赛初体验与核心认知第一次参加建模比赛,感觉就像被扔进了一个完全陌生的战场。手里只有一堆模糊的数据、一个抽象的题目,还有两个同样迷茫的队友。我记得当时我们三个人对着“城市共享单车调度优化”这个题目&#xff…

2026/8/29 21:53:12 阅读更多 →
模糊PID控制仿真:从原理到Simulink实现与调优

模糊PID控制仿真:从原理到Simulink实现与调优

1. 从经典到智能:为什么我们需要模糊PID控制?在自动化控制领域,PID控制器堪称“工业界的瑞士军刀”。无论是调节电机转速、稳定水箱液位,还是控制房间温度,其简洁的“比例-积分-微分”三环结构,让它在过去一…

2026/8/29 21:53:12 阅读更多 →
蓝桥杯Fibonacci数列:从递归超时到迭代取模的算法优化

蓝桥杯Fibonacci数列:从递归超时到迭代取模的算法优化

1. 项目概述:从“蓝桥入门训练”说起如果你刚开始接触编程竞赛,或者正在准备“蓝桥杯”这类算法竞赛,那么“入门训练”这个系列绝对是你绕不开的第一道坎。而“Fibonacci数列”这道题,几乎可以看作是所有竞赛入门者的“成人礼”。…

2026/8/29 21:53:12 阅读更多 →
自助图文打印系统:UI/PHP/教程三位一体解决方案

自助图文打印系统:UI/PHP/教程三位一体解决方案

简介:自助打印系统是面向图文快印场景的轻量级数字化基础设施,其核心在于解决用户端操作断点与后端文件处理可靠性之间的协同问题。原理上融合微信原生小程序UI交互规范、PHP驱动的ImageMagickGhostscript文件流水线、以及覆盖硬件校准与支付补单的工程化…

2026/8/29 21:52:11 阅读更多 →

日新闻

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

etc目录下的profile.d文件目录设置环境变量和全局脚本shell

一、设置环境变量etc目录下的profile.d文件目录 /etc/profile.d1、编写 vi test.sh文件内容# jdk变量 export ZHK_HOME/root export PATH$PATH:$ZHK_HOME/test # 可以取出来ZHK_HOME变量给ZZZ_HOME赋值 export ZZZ_HOME${ZHK_HOME}/test2、刷新 执行source /etc/profile 命令使…

2026/8/29 0:00:24 阅读更多 →
【JavaScript】内存管理-垃圾回收机制-内存泄露

【JavaScript】内存管理-垃圾回收机制-内存泄露

内存管理 C 语言这样的底层语言一般都有底层的内存管理接口,比如 malloc()和free()。 而 JavaScript 是在创建变量(对象,字符串等)时自动进行了分配内存,并且在不使用它们时“自动”释放。释放的过程称为垃圾回收。 整…

2026/8/29 0:00:24 阅读更多 →
Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP:为嵌入式硬件实验室接入AI Agent操控能力

Labgrid-MCP 的目标是把 MCP(Model Context Protocol)能力延伸到真实嵌入式硬件实验室:AI Agent 通过一个标准化的 MCP Server,就能查看目标板状态、控制上电断电、复位开发板、读取串口日志,甚至执行镜像刷写。对于经…

2026/8/29 0:00:24 阅读更多 →

周新闻

[光学原理与应用-521]:对光的错误理解与纠偏

[光学原理与应用-521]:对光的错误理解与纠偏

首先光是一种能量的载体和形态,宏观上观察到的光是由无数个微观的光量子组成的,每个光子在产生的瞬间,其在真空的空间中以确定不变的速度沿着一个初始的方向一直向前,在微观层面,每个光量子的运动轨迹是以波函数所展现…

2026/8/29 18:08:35 阅读更多 →
SIP通话转接原理与REFER方法实战解析

SIP通话转接原理与REFER方法实战解析

1. 通话转接不是“挂断再拨号”,而是SIP会话的动态重定向你有没有遇到过这样的场景:客服坐席A正在和客户通电话,突然需要把这通对话无缝转给专家坐席B,客户完全感知不到中间的断连——既没听到忙音,也没被要求重新拨号…

2026/8/28 23:05:07 阅读更多 →
Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

Kolla-ansible单节点OpenStack部署实战:从环境准备到排坑指南

1. 为什么选择Kolla-ansible来部署单节点OpenStack?如果你正在寻找一种能把OpenStack从“概念”快速变成“可用的实验环境”的方法,那么Kolla-ansible几乎是当前最主流、最省心的选择。我见过太多人卡在手动编译依赖、配置服务、处理版本冲突的泥潭里&am…

2026/8/28 19:47:53 阅读更多 →

月新闻

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南

免费解锁百度网盘SVIP加速:macOS用户必备的下载提速终极指南 【免费下载链接】BaiduNetdiskPlugin-macOS For macOS.百度网盘 破解SVIP、下载速度限制~ 项目地址: https://gitcode.com/gh_mirrors/ba/BaiduNetdiskPlugin-macOS 还在为百度网盘macOS版的龟速下…

2026/8/29 4:34:53 阅读更多 →
终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换

终极ncmdump指南:3分钟实现网易云NCM音乐解密与格式转换 【免费下载链接】ncmdump 项目地址: https://gitcode.com/gh_mirrors/ncmd/ncmdump 还在为网易云音乐下载的NCM格式文件无法在其他播放器播放而烦恼吗?ncmdump解密工具帮你轻松解决这个困…

2026/8/28 17:43:04 阅读更多 →
HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

HarmonyOS 应用开发《掌上英语》第81篇: 智能体卡片:为英语学习 App 打造桌面级学习助手

AgentCard 智能体卡片:为英语学习 App 打造桌面级学习助手适用平台:HarmonyOS 7.0 (API 26 Beta)一、引言 HarmonyOS 7.0(API 26 Beta)新增了 AgentCard 智能体卡片能力,这是继 HMAF(鸿蒙智能体框架&#x…

2026/8/29 2:05:18 阅读更多 →