一、所需工具
| 工具 | 版本 | 说明 |
|---|---|---|
| Visual Studio | 2022 (Professional) | 编译器 |
| CMake | 3.31.12 | 构建工具 |
| Qt | 6.11 | 用于后续界面开发 |
注意 :安装过程简单,此处不再赘述。工具包
Qt 镜像安装(推荐使用国内源加速):
在
qt-online-installer-windows-x64-4.11.0.exe所在文件夹,按住Shift+ 鼠标右键,选择"打开 PowerShell 窗口"。执行以下命令:
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-install

OCCT/
├── 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 ,平台 x64


3.2 配置第三方库路径
首次 Configure 后会报红,需要填写以下变量:

| 变量名 | 值 |
|---|---|
| 3RDPARTY_DIR | E:/OCCT/3rdparty |
| 3RDPARTY_TCL_DIR | E:/OCCT/3rdparty/tcltk-8.6.15-x64 |
| 3RDPARTY_TK_DIR | E:/OCCT/3rdparty/tcltk-8.6.15-x64 |
| INSTALL_DIR | E:/OCCT/occt-install |
再次点击 Configure,直至红色全部消失。
3.3 生成项目
点击 Generate ,看到 Generating done 即成功。

四、使用 Visual Studio 2022 编译 OCCT
4.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 项目中集成 OCCT
5.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
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/*.lib,Release 链接lib/*.lib。- 运行时需要将
3rdparty/occt/bin/或bind/中的 DLL 复制到 exe 同目录,或者添加 PATH 环境变量。
5.3 验证 OCCT 是否工作
在任意源文件中加入以下测试函数并调用(例如在 mainwindow 构造函数或按钮槽中):
cpp
#include <BRepPrimAPI_MakeBox.hxx>
#include <BRepGProp.hxx>
#include <GProp_GProps.hxx>
#include <QDebug>
void testOCCT() {
BRepPrimAPI_MakeBox box(10.0, 20.0, 30.0);
TopoDS_Shape shape = box.Shape();
GProp_GProps props;
BRepGProp::VolumeProperties(shape, props);
double volume = props.Mass();
qDebug() << "Box volume:" << volume; // 应输出 6000
}
编译运行后控制台输出 6000 即表示集成成功。
对你有用就点个赞👍,以后需要用到就收藏⭐