下载OCCT源码
从github下载OCCT 7.8.1:https://github.com/Open-Cascade-SAS/OCCT/tree/bd2a789f15235755ce4d1a3b07379a2e062fdc2e

点击【Code】下载zip文件。
解压并拷贝到Linux上。
Linux上编译
准备
确保安装了cmake、gcc、g++。
安装命令:
bash
sudo apt install cmake
sudo apt install gcc
sudo apt install g++
编译
在源码文件夹创建一个build文件夹,在build文件夹内打开终端,运行命令:
bash
cmake -DBUILD_MODULE_Draw=OFF -DBUILD_MODULE_Visualization=OFF -DBUILD_MODULE_ApplicationFramework=OFF -DBUILD_MODULE_DataExchange=OFF ..
只编译OCCT核心部分,不含第三方库的编译(如可视化模块、freetype、tk模块等)。
然后运行:
bash
sudo make install
编译时会显示编译进度(等待十几分钟不等):

编译的库位于build/lin64/gcc/lib:


头文件位于:

项目示例
使用CLion创建一个C++项目:

将occt的库文件和头文件拷贝到项目的occt文件夹下:

修改CMakeLists.txt文件引入occt:
bash
cmake_minimum_required(VERSION 4.2)
project(TestOcct)
set(CMAKE_CXX_STANDARD 11)
#occt头文件
include_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/occt/include)
#occt库文件
link_directories(SYSTEM ${CMAKE_CURRENT_SOURCE_DIR}/occt/libs)
#收集occt所有 .so 文件的完整路径
file(GLOB OCCT_LIBS "${CMAKE_CURRENT_SOURCE_DIR}/occt/libs/*.so")
add_executable(TestOcct main.cpp)
# 链接occt库
target_link_libraries(TestOcct ${OCCT_LIBS})
修改main.cpp来测试occt:
cpp
#include <iostream>
#include <BRepPrimAPI_MakeBox.hxx>
#include <TopoDS_Shape.hxx>
#include <Standard_Version.hxx> // OCCT 自带
int main() {
std::cout << "Hello, World!" << std::endl;
// 创建一个10x10x10的立方体
TopoDS_Shape box = BRepPrimAPI_MakeBox(10.0, 10.0, 10.0).Shape();
if (box.IsNull())
{
std::cerr << "Failed to create box shape." << std::endl;
return 1;
}
std::cout << "Box created successfully." << std::endl;
// 数值版本(各宏定义在 Standard_Version.hxx)
std::cout << "OCCT Version: "
<< OCC_VERSION_MAJOR << "."
<< OCC_VERSION_MINOR << "."
<< OCC_VERSION_MAINTENANCE
<< std::endl;
return 0;
}
运行结果示意:
