资料
官网下载:https://dev.opencascade.org/release
VS2019配置OCCT7.7.0环境
编译OCCT静态库与动态库文件
教程:手把手教你VS2019编译、配置Opencascade
进入https://dev.opencascade.org/release,再点击Previous releases,点击Open CASCADE Technology 7.7.0 - 07.11.2022,注册,可下载到一个exe安装包
双击安装包,可一路默认安装
修改C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\custom.bat中vcvarsall.bat
的路径
# 教程说把这一行修改成vcvarsall.bat的绝对路径,我实测就这样不改也行
set "VCVARS=%VS100COMNTOOLS%..\..\VC\vcvarsall.bat"
打开C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\msvc.bat,把第五行修改为如下形式
call "%~dp0env.bat" vc142 Win64 %3
双击msvc.bat可自动打开VS软件
在解决方案上右键---属性---配置---最上面改成:Release, x64
在解决方案上右键--重新生成解决方案,最后输出如下
========== 全部重新生成: 成功 67 个,失败 0 个,跳过 0 个 ==========
此时C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0\win64\vc14会有bin
,lib
,obj
三个文件夹,这就是occt编译结果
使用OCCT库文件
参考方法
视频英文原版:https://www.youtube.com/playlist?list=PL_WFkJrQIY2iVVchOPhl77xl432jeNYfQ
视频中文译版:https://www.bilibili.com/video/BV1yM411x7Xx
文字中文译版:OCCT教程二:在visual studio上创建一个occt工程_occt教学-CSDN博客
打开VS2019,新建C++
空项目
在项目文件夹下新建一个OCCT770的文件夹,将前面得到的bin
,lib
,以及一个inc
文件夹拷贝到OCCT770文件夹下。其中inc
文件夹在C:\OpenCASCADE-7.7.0-vc14-64\opencascade-7.7.0里面
在项目右键---属性---开始配置环境
将最上面的配置与平台改成:Release, x64
C/C++
---常规---附加包含目录---添加一条指向OCCT770\inc: $(SolutionDir)\OCCT770\inc;
链接器---常规---附加库目录---指向OCCT770\lib: $(SolutionDir)\OCCT770\lib;
调试---环境---添加PATH=%PATH%;$(SolutionDir)\OCCT770\bin;
,这里其实是用=
添加了两个路径
连接器---输入---附加依赖项目,可以仅添加你需要的lib文件名称,也添加OCCT770\lib下所有lib文件名称。获得所有lib文件名方法见附1
源文件---添加main.cpp测试文件,测试文件见附2
使用Release,x64配置---生成---重新生成解决方案---调试---开始执行不调试
附1:获得OCCT770\lib下所有lib文件名的方法:(1)在OCCT770\lib文件夹新建一个AAA.bat
文件;(2)使用记事本打开AAA.bat
文件,添加DIR *.lib* /B >LIST.TXT
,保存;(3)双击运行AAA.bat
文件,即可得到所有lib文件的文件名
附2:main.cpp
#include <TopoDS_Shape.hxx>
#include <BRepPrimAPI_MakeBox.hxx>
#include <STEPControl_Writer.hxx>
int main()
{
// 创建盒子
BRepPrimAPI_MakeBox boxMaker(10.0, 20.0, 30.0);
TopoDS_Shape boxShape = boxMaker.Shape();
// 保存为STEP文件
STEPControl_Writer writer;
writer.Transfer(boxShape, STEPControl_AsIs);
writer.Write("box_model.step");
std::cout << "盒子模型已保存为box_02.step" << std::endl;
return 0;
}