Open CASCADE学习|基于visual studio 2022编译源码

目录

1、简介  

2、下载  

2.1下载visual studio 2022 community  

2.2下载下载cmake工具  

2.3下载源码  

2.4下载第三方插件  

3、安装  

3.1安装visual studio 2022 community  

3.2安装cmake  

4、编译源码  

5、测试  


1、简介  

Open CASCADE(简称OCC)平台是由法国Matra Datavision公司开发的CAD/CAE/CAM软件平台,可以说是世界上最重要的几何造型基础软件平台之一。开源OCC对象库是一个面向对象C++类库,用于快速开发设计领域的专业应用程序。OCC主要用于开发二维和三维几何建模应用程序,包括通用的或专业的计算机辅助设计CAD系统、制造或分析领域的应用程序、仿真应用程序或图形演示工具。OCC通过有机组织的C++库文件提供了六个模块。可视化模块作为OCC的核心部分,是可视化技术的具体体现。

    

2、下载  

2.1下载visual studio 2022 community  

https://visualstudio.microsoft.com/zh-hans/vs/

2.2下载下载cmake工具  

https://cmake.org/download/,选最新版就可以    

2.3下载源码  

https://dev.opencascade.org/release, 官网下载7.7.0源码

2.4下载第三方插件  

https://dev.opencascade.org/resources/download/3rd-party-components,官网下载第三方插件,至少要下载freeimage-3.17.0-vc14-64、freetype-2.5.5-vc14-64、tcltk-86-64三个依赖包。    

最后,把源码解压后放到一个目录里,在该目录新建一个文件夹3rdparty放解压的依赖包,在该目录新建另外两个文件夹build和install

    

3、安装  

3.1安装visual studio 2022 community  

勾选C++桌面开发,确保MSVC、win10 SDK、C++ Cmake工具都处于勾选状态,其余根据需要选择,按需要修改安装位置后直接安装

3.2安装cmake  

按默认选项安装。

4、编译源码  

打开cmake工具首先配置occ的源码位置和临时构建目录。

然后点一下Configure,选择“Visual Studio 17 2022”,X64编译。    

然后在cmake配置项中配置3RDPARTY_DIR为放置依赖的3rdparty目录,以及INSTALL_DIR目录目录为install

    

配置好之后在点一下Configure,然后点Generate,最后点OpenProject。

这时自动打开Visual Studio,右键解决方案,生成解决方案开始构建。    

          

下面是漫长的等待。

          

看到生成成功,并且没有什么报错,就成了。    

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

5、测试  

现在构建就完成了,可以运行一下DRAWEXE测试功能是否正常。    

右键DRAWEXE下拉菜单设为启动项目,然后CTRL+F5执行,在打开的命令行窗口中即可测试DRAWEXE命令。

参考文献

https://dev.opencascade.org/doc/overview/html/build_upgrade__building_occt.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/610354.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C //练习 4-8 假定最多只压回一个字符。请相应地修改getch与ungetch这两个函数。

C程序设计语言 (第二版) 练习 4-8 练习 4-8 假定最多只压回一个字符。请相应地修改getch与ungetch这两个函数。 注意:代码在win32控制台运行,在不同的IDE环境下,有部分可能需要变更。 IDE工具:Visual St…

【OCR】 - Tesseract OCR在Windows系统中安装

Tesseract OCR 在Windows环境下安装Tesseract OCR(Optical Character Recognition)通常包括以下几个步骤: 下载Tesseract 访问Tesseract的GitHub发布页面:https://github.com/tesseract-ocr/tesseract/releases找到适合你操作系…

羊奶制作工艺揭秘,如何打造丰富多样的口味品种?

羊奶制作工艺揭秘,如何打造丰富多样的口味品种? 羊奶一直以来都是人们健康饮食的选择之一,它不仅营养丰富,而且口感独特。但是,你是否好奇羊奶是如何做到各种口味的呢?下面就跟随小编羊大师一起揭秘羊奶制…

SpringBoot集成Minio

pom文件导入依赖 <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0" xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation"http://maven.apache.org/P…

Hadoop之mapreduce参数大全-3

51.指定Shuffle传输过程中可以同时连接的节点数 mapreduce.shuffle.max.connections是Hadoop MapReduce中的一个配置参数&#xff0c;用于指定Shuffle传输过程中可以同时连接的节点数。该参数用于控制Shuffle传输的并发度&#xff0c;以保障任务的稳定性和性能。 可以通过以下…

RHCE9学习指南 第17章 进程管理

17.1 进程介绍 在Windows下打开任务管理器就可以查看到系统所有进程&#xff0c;如图17-1所示。 图17-1 Windows下的任务管理器 这里列出了系统中所有的进程。不过也可以使用命令行工具来查看进程。每个进程都会有一个process ID&#xff0c;简称为pid。 17.2 查看进程 也可…

实用Unity3D Log打印工具XDebug

特点 显示时间&#xff0c;精确到毫秒显示当前帧数&#xff08;在主线程中的打印才有意义&#xff0c;非主线程显示为-1&#xff09;有三种条件编译符(如下图) 注&#xff1a;要能显示线程中的当前帧数&#xff0c;要在app启动时&#xff0c;初始化mainThreadID字段条件编译符…

uniapp日期加减切换,点击切换

先上完成后的页面&#xff1a;当前年年份不显示&#xff0c;不然完整显示。 可以切换和自定义选择。 html:样式和图片自定义。 <view class"image-text_30"><image click"delMonth" :src"require(/static/home/zuo.png)" class"…

vue element plus Button 按钮

常用的操作按钮。 基础用法# 使用 type、plain、round 和 circle 来定义按钮的样式。 DefaultPrimarySuccessInfoWarningDanger PlainPrimarySuccessInfoWarningDanger RoundPrimarySuccessInfoWarningDanger 禁用状态# 你可以使用 disabled 属性来定义按钮是否被禁用。 使…

翻译:Building Efficient RAG Systems: A Deep Dive into devv.ai

RAG 的全称是&#xff1a;Retrieval Augmented Generation&#xff08;检索增强生成&#xff09; 最初来源于 2020 年 Facebook 的一篇论文&#xff1a;Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks&#xff08;是的&#xff0c;你没有看错&#xff0c;…

时序分解 | Matlab实现CPO-VMD基于冠豪猪优化算法(CPO)优化VMD变分模态分解时间序列信号分解

时序分解 | Matlab实现CPO-VMD基于冠豪猪优化算法(CPO)优化VMD变分模态分解时间序列信号分解 目录 时序分解 | Matlab实现CPO-VMD基于冠豪猪优化算法(CPO)优化VMD变分模态分解时间序列信号分解效果一览基本介绍程序设计参考资料 效果一览 基本介绍 【原创】CPO-VMD【24年新算法…

计算机毕业设计----ssm在线选课管理系统

项目介绍 一个简单的“在线教学平台系统”&#xff0c;实现基本的选课功能。 主要功能&#xff1a; 管理员能够实现学生基本信息的录入、修改、删除等操作&#xff0c;其中学生信息包括学号、姓名、性别、专业等信息&#xff1b; 管理员能够实现课程的录入、修改、删除等功能&…

策略模式--在SpringBoot中的使用

策略模式 策略模式主要分为三部分&#xff1a; 抽象策略类AbstractStrategy&#xff1a;负责定义抽象方法&#xff0c;具体策略类的继承具体策略类ContentStrategy&#xff1a;负责策略类的具体实现上下文类&#xff1a;ContextStrategy&#xff1a;负责上游模块的调用。包含…

详解java多态

目录 一、多态的概念 二、多态实现条件 三、重写 3.1重写概念 3.2重写规则 3.3重载和重写的区别&#xff1f;&#xff08;面试重点&#xff09; 四、静态绑定和动态绑定 五、 向上转移和向下转型 5.1 向上转型 5.2 向下转型 六、多态的优缺点 6.1使用多态的好处 6…

微信扫码进入小程序特定页面

小程序配置 开发 - 开发管理 - 开发设置-普通链接二维码打开小程序 配置好的截图 如下&#xff1a;二维码规则建议是自己的域名 /mini/ 功能页面 pages/index/index 是为了方便跳转其他页面 记得把校验文件发给后端 web 端处理 二维码格式为&#xff1a;二维码规则/功能页…

【idea】idea插件编写教程,博主原创idea插件 欢迎下载

前言&#xff1a;经常使用Objects.equals(a,b)方法的同学 应该或多或少都会因为粗心而传错参&#xff0c; 例如日常开发中 我们使用Objects.equals去比较 status(入参)&#xff0c;statusEnum(枚举), 很容易忘记statusEnum.getCode() 或 statusEnum.getVaule() &#xff0c;再比…

详解FreeRTOS:内存管理(高级篇—8)

目录 1、内存管理简介 2、什么是内存碎片 3、FreeRTOS内存管理方案 4、heap_1 内存管理方案

Oracle之 第三篇 PL/SQL基础

目录 Oracle之 第三篇 PL/SQL基础 PL/SQL程序块 PL/SQL语言 PL/SQL的基本结构 PL/SQL块分类 一、PL/SQL语言 二、PL/SQL 常量 、变量 合法字符 数据类型 LOB 数据类型 属性类型 运算符 常量 PL/SQL常量 1 、变量的声明 2、属性类型 % type 变量赋值 %type…

NR cell配置带宽时,如何设置carrierBandwidth?

NR中带宽在38.101中有规定。 如上是FR1 38.101-1中与带宽设定有关的table&#xff0c;协议中根据SCS规定的传输带宽和可以配置的RB 数如上表&#xff0c;也就是说在实网下或者lab测试配置带宽时要根据上表内容去配置&#xff0c;举例如下。 如上图分别是几种带宽的配置参数&…

Matlab绘制双纵轴图(yyaxis函数)

一、方法一yyaxis函数 x linspace(0,pi); y1 cos(x); yyaxis left; % 激活左边的轴 plot(x,y1) xlabel(X-axis); ylabel(left Y-axis); % 给左y轴添加轴标签hold on yyaxis right; % 激活右边的轴 y2 cos(2*x); plot(x,y2) ylim([-1,1]); % 设置右y轴的界限 ylabel(right Y…