Windows11+VS2022+OCCT7.6.0安装配置记录

8 篇文章 1 订阅

主要参考此文,在Window11下结合 VS2022安装Open CASCADE Technology 7.6.0环境。

工具及源码准备

VS2022以及CMake

已有相关环境,略。
(CMake版本需要大于2.8,我使用的3.23)

下载OCCT源码

在这里我下载的是7.6.0
https://dev.opencascade.org/release/previous#node-83367
注意下载的时候要求登录账号,可以使用google或github账号登录注册。

在这里插入图片描述

解压到自定目录(切记,该目录不能包含中文和空格),并在同级目录下新建一个products文件夹(以及一个build文件夹和一个OCCT安装目录,这两个也可 暂时不建立)

在这里插入图片描述

下载第三方库

注意:可以通过安装的方式安装所有第三方库。
进入网页,会提示登录账号,点击 3rd party components
在这里插入图片描述

再点击Windows (win32)
在这里插入图片描述
依次点击如下三个第三方库进行下载
在这里插入图片描述

解压后放在products下

在这里插入图片描述

CMake

正式cmake之前对以下文件做一下改动。

修改occt_toolkit.cmake

opencascade-7.6.0\adm\cmake\occt_toolkit.cmake

首行新增

cmake_policy(SET CMP0054 NEW)

如:
在这里插入图片描述

进行CMake

先进行如下四步基本配置:

在这里插入图片描述

3RDPARTY_DIR输入D:\ProgramData\opencascade-7.6.0\opencascade-7.6.0\prducts,点击Configure

在这里插入图片描述

这时Configure就可以成功了,在这里再把INSTALL_DIR切换为自定的目录,重新Configure

在这里插入图片描述

点击Generate,完成后,点击Open Project
在这里插入图片描述

自动打开Visual Studio,先将平台切换为Release x64,右键解决方案,生成解决方案开始构建。
这里将平台切换为Release x64是因为个人需要,也可以不切换。默认Debug x64平台

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后右键解决方案管理器中的INSTALL,点击生成,执行make install。这样把编译好的文件安装到设置的install目录
在这里插入图片描述

在这里插入图片描述

验证一下
右键DRAWEXE下拉菜单设为启动项目,然后CTRL+F5执行,在打开的命令行窗口中即可测试DRAWEXE命令。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在打开的终端中输入以下命令绘制测试图像
在这里插入图片描述
或者运行自带demo

在这里插入图片描述

以上安装的是Release x64版本,切换平台Debug x64,重复以上操作,可以安装Debug x64版本。

Visual Studio环境配置

以Release x64为例,配置 Visual Studio项目环境。

创建一个新项目OCCT_test,设置平台为Release x64,打开属性管理器,新建属性表,命名为 OCCT7.6.0_Release_x64.props。
在这里插入图片描述

配置包含目录

D:\ProgramData\opencascade-7.6.0\OCCT\inc
D:\ProgramData\opencascade-7.6.0\products\freeimage-3.17.0-vc14-64\include
D:\ProgramData\opencascade-7.6.0\products\freetype-2.5.5-vc14-64\include
D:\ProgramData\opencascade-7.6.0\products\tcltk-86-64\include

配置库目录

D:\ProgramData\opencascade-7.6.0\OCCT\win64\vc14\lib
D:\ProgramData\opencascade-7.6.0\products\freeimage-3.17.0-vc14-64\lib
D:\ProgramData\opencascade-7.6.0\products\freetype-2.5.5-vc14-64\lib
D:\ProgramData\opencascade-7.6.0\products\tcltk-86-64\lib

配置链接器

这里需要对相关目录下的lib进行提取,Release和Debug所需的lib不一样,注意,一般开源库下面的lib目录下同时包含Debug(**d.lib)和Release(*.lib)两类lib文件,但是OCCT不一样,可以看到我们install的时候生成的文件夹就自动区分了。所以该lib下全是Release相关的lib。

在这里插入图片描述

可以用之前我写的简单小脚本的基础上修改一下来提取lib。修改后代码如下


import os

def Extract_lib(path):
    release = open("ooct_release_lib.txt", 'w')
    for file in os.listdir(path):
        if file[-4:] == '.lib':
            release.write(file)
            release.write('\n')
    release.close()


if __name__ == '__main__':
    path = r"D:\ProgramData\opencascade-7.6.0\OCCT\win64\vc14\lib"
    Extract_lib(path)

对四个库目录(如果有更多三方库的话也加上)都提取出相关lib

D:\ProgramData\opencascade-7.6.0\OCCT\win64\vc14\lib
D:\ProgramData\opencascade-7.6.0\products\freeimage-3.17.0-vc14-64\lib
D:\ProgramData\opencascade-7.6.0\products\freetype-2.5.5-vc14-64\lib
D:\ProgramData\opencascade-7.6.0\products\tcltk-86-64\lib

提取出的lib如下

TKBin.lib
TKBinL.lib
TKBinTObj.lib
TKBinXCAF.lib
TKBO.lib
TKBool.lib
TKBRep.lib
TKCAF.lib
TKCDF.lib
TKernel.lib
TKFeat.lib
TKFillet.lib
TKG2d.lib
TKG3d.lib
TKGeomAlgo.lib
TKGeomBase.lib
TKHLR.lib
TKIGES.lib
TKLCAF.lib
TKMath.lib
TKMesh.lib
TKMeshVS.lib
TKOffset.lib
TKPrim.lib
TKRWMesh.lib
TKService.lib
TKShHealing.lib
TKStd.lib
TKStdL.lib
TKSTEP.lib
TKSTEP209.lib
TKSTEPAttr.lib
TKSTEPBase.lib
TKSTL.lib
TKTObj.lib
TKTopAlgo.lib
TKV3d.lib
TKVCAF.lib
TKVRML.lib
TKXCAF.lib
TKXDEIGES.lib
TKXDESTEP.lib
TKXMesh.lib
TKXml.lib
TKXmlL.lib
TKXmlTObj.lib
TKXmlXCAF.lib
TKXSBase.lib
FreeImage.lib
FreeImagePlus.lib
freetype.lib
itclstub40.lib
tcl86.lib
tclstub86.lib
tk86.lib
tkstub86.lib

将txt中的lib文件名复制粘贴到链接器-输入-附加依赖项中。

保存属性表。

设置系统环境变量

N:OCCT_ROOT
V:D:\ProgramData\opencascade-7.6.0

打开Path,添加

%OCCT_ROOT%\OCCT\win64\vc14\bin
%OCCT_ROOT%\products\freeimage-3.17.0-vc14-64\bin
%OCCT_ROOT%\products\freetype-2.5.5-vc14-64\bin
%OCCT_ROOT%\products\tcltk-86-64\bin

在这里插入图片描述

配置项目调试环境

项目–属性–调试–环境–编辑—添加环境如下

PATH=$(OCCT_ROOT)\OCCT\win64\vc14\bin;(OCCT_ROOT)\products\freeimage-3.17.0-vc14-64\bin;(OCCT_ROOT)\products\freetype-2.5.5-vc14-64\bin;(OCCT_ROOT)\products\tcltk-86-64\bin;$(PATH)

以上基本就配置结束了。

环境测试

#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_model.step" << std::endl;
 
    return 0;
}

其他方法

  1. 通过exe安装的方式安装所有第三库,再进行cmake编译,跟以上方法类似。
  2. 通过修改custom.bat和msvc.bat进行编译,如此文
  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值