mayo介绍和QTqmake编译基于Opencascade开发的mayo工程-小白配置

目录:

  • 一、mayo介绍
    • :zap: 最新功能(截止7.8.2)
    • 在这里插入图片描述
  • 二、编译准备
  • 三、编译过程
    • 3.1`QT Creator`打开源码的pro工程
    • 3.2修改几处pro配置
    • 3.3复制所需的动态链接库
    • 3.4编译完成

一、mayo介绍

1️⃣mayo是一个基于opencascade开源库开发的一个开源CAD应用代码工程库(OpenCASCADE 是一套开源代码的CAD/CAM/CAE几何模型核心,为数不多的开源几何造型引擎),可以查看常见的cad格式和点云格式(.step、.obj、.ply等),还有常见的模型树,还有许多可视化和测量图元的功能,用来学习opencascade和拓展为其他应用CAD程序,非常之好!
2️⃣mayo源码是值得学习,编译代码工程是必要的,cmake或者vs编译会让初学者望而止步,所以在这里用qmake编译,并且可以作为opencascade自主开发的一个好实例。

⚡️ 最新功能(截止7.8.2)

在这里插入图片描述
在这里插入图片描述

😊另外,还可以支持多种交互操作,基本达到常见的cad功能软件交互体验!

软件界面如下:

在这里插入图片描述

二、编译准备

🌈说明:本次编译是由下面两个工具进行配置的(qt creator 和Opencascade为必须品,请必须留意对应的版本号),需要的分别是:

  • 1️⃣QT Creator(6.6.3):采用qamke工程(.pro文件)编译,cmake不包括(要搞自己搞),理论上qt5.1.2(qt5以上)也是,自己可以试;
    • qt编译器是用msvc2019,到时打开pro工程记得勾选,自己也可以试下mingw有没问题!
  • 2️⃣OpenCASCADE(opencascade-7.5.0):这个版本一定要对应上,7.5算是比较新又比较好(如果mayo官方有用其他很新的版本,也可以用新的Opencascade),用的是官网下载好的文件(7.5的安装程序)
    • 下载地址
    • 在这里插入图片描述
    • 下载完,就安装程序,过程中会提示,用的是自定义版本还是全版本,这里用的是全版本,等待安装完成就行,这个是源代码和lib引用的地方,放个好位置吧;
  • 3️⃣mayo工程:这里用的是master分支(因为这个有pro文件,只修改几个地方就行了,这个分支记得选master分支),clone下来或者下载对应分支的zip包;
    • mayo地址
    • 在这里插入图片描述
    • 版本大概是2023的出来的master分支

三、编译过程

3.1QT Creator打开源码的pro工程

在这里插入图片描述

我比较习惯用msvc2019,mingw没试过
在这里插入图片描述

3.2修改几处pro配置

1️⃣主要修改的是对opencascade的Lib引用和include位置,对自己安装的qt的一些配置
在这里插入图片描述
2️⃣主要将这两个变量值修改为自己安装opencascade的Lib引用位置(可以发现这个目录底下有很多Lib文件)和include位置(包含.hpp文件),其他变量值暂时不用管,如下:
在这里插入图片描述
3️⃣引用的位置如下(自己对应就行):
在这里插入图片描述
在这里插入图片描述
4️⃣在头文件src/app/windows/version.h有个数字缺少了,自己填上即可,填完后记得ctrl +s保存(又可能工程点重新清除或构建的话,这个数字自动也会清除,自己补上即可)(这里填8,其他应该也行)(也可先编译debug先,然后等编译器提示后,点击错误提示再打开这个文件修改)

在这里插入图片描述
在这里插入图片描述

  • ⚡️还有一个地方,要注意,就是这个winextras模块(如果debug过程有提示error: Unknown module(s) in QT: winextras),把这个模块直接注释掉就行,因为有的人压根安装qt的时候没安装这个,不用重新下,直接注释(我的好像安装了,而且用的是qt6,所以不注释,留着,有这个问题的朋友可以留意下)
    在这里插入图片描述
    在这里插入图片描述

3.3复制所需的动态链接库

1️⃣接着debug编译,会提示缺少很多动态链接库:
在这里插入图片描述
2️⃣主要是把opencascade的Lib库隔壁的bin目录下,复制所有的dll到debug即可:
在这里插入图片描述
3️⃣另外,mayo也依赖其他的库,在Opencascade安装库目录下,找到其他第三方库的动态链接库(QT如果配置好环境变量就不用复制了,否则老实复制进去吧):

在这里插入图片描述
位置一般在对应文件的bin目录下:
在这里插入图片描述
一般依赖的第三方动态链接库如下(除Opencascade外),自己安装对应的找出来(第一次会比较烦,也可以用脚本复制,最好把需要的dll都复制到一个文件夹里面,以后用到会方便点):
把Opencascade和依赖的第三方库就复制到生成程序的debug目录下,这样程序debug目录下,就有依赖的所有文件了(如果还有漏,自己按照提示找吧):
在这里插入图片描述

3.4编译完成

接着,到此应该没啥问题,debug编译,大功告成!
在这里插入图片描述


最后,文中若有不足,敬请批评指正!

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

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

相关文章

【Github】如何使用Git将本地项目上传到Github

【Github】如何使用Git将本地项目上传到Github 写在最前面1. 注册Github账号2. 安装Git工具配置用户名和邮箱仅为当前项目配置(可选) 3. 创建Github仓库4. 获取仓库地址5. 本地操作(1)进入项目文件夹(2)克隆…

【layui】table的switch、edit修改

<title>简单表格数据</title><div class"layui-card layadmin-header"><div class"layui-breadcrumb" lay-filter"breadcrumb"><a>系统设置</a><a>简单表格数据</a></div> </div>&…

Spring Template

Thymeleaf 入门 Web 开发离不开动态页面的开发&#xff0c;很早以前企业主要使用 JSP 技术来开发网页&#xff0c;随着技术的升级更替&#xff0c;目前来说最主流的方案是&#xff1a;Thymeleaf&#xff0c;Thymeleaf 是一个模板框架&#xff0c;它可以支持多种格式的内容动态…

【大语言模型】ACL2024论文-20 SCIMON:面向新颖性的科学启示机器优化

【大语言模型】ACL2024论文-20 SCIMON&#xff1a;面向新颖性的科学启示机器优化 目录 文章目录 【大语言模型】ACL2024论文-20 SCIMON&#xff1a;面向新颖性的科学启示机器优化目录摘要研究背景问题与挑战如何解决创新点算法模型实验效果推荐阅读指数&#xff1a;★★★★☆ …

HTML实现 扫雷游戏

前言&#xff1a; 游戏起源与发展 扫雷游戏的雏形可追溯到 1973 年的 “方块&#xff08;cube&#xff09;” 游戏&#xff0c;后经改编出现了 “rlogic” 游戏&#xff0c;玩家需为指挥中心探出安全路线避开地雷。在此基础上&#xff0c;开发者汤姆・安德森编写出了扫雷游戏的…

docker镜像源配置、换源、dockerhub国内镜像最新可用加速源(仓库)

一、临时拉取方式 在docker pull后先拼接镜像源域名&#xff0c;后面拼接拉取的镜像名 $ docker pull dockerpull.org/continuumio/miniconda3 二、永久配置方式 vim修改/etc/docker/daemon.json&#xff0c;并重启docker服务。 # 创建目录 sudo mkdir -p /etc/docker# 写…

AMD(Xilinx) FPGA配置Flash大小选择

目录 1 FPGA配置Flash大小的决定因素2 为什么选择的Flash容量大小为最小保证能够完成整个FPGA的配置呢&#xff1f; 1 FPGA配置Flash大小的决定因素 在进行FPGA硬件设计时&#xff0c;选择合适的配置Flash是我们进行硬件设计必须考虑的&#xff0c;那么配置Flash大小的选择由什…

NVR录像机汇聚管理EasyNVR多品牌NVR管理工具/设备如何使用Docker运行?

在当今的安防监控领域&#xff0c;随着视频监控技术的不断发展和应用范围的扩大&#xff0c;如何高效、稳定地管理并分发视频流资源成为了行业内外关注的焦点。EasyNVR作为一款功能强大的多品牌NVR管理工具/设备&#xff0c;凭借其灵活的部署方式和卓越的性能&#xff0c;正在引…

【SKFramework框架】一、框架介绍

推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享QQ群&#xff1a;398291828小红书小破站 大家好&#xff0c;我是佛系工程师☆恬静的小魔龙☆&#xff0c;不定时更新Unity开发技巧&#xff0c;觉得有用记得一键三连哦。 一、前言 【Unity3D框架】SKFramework框架完全教程《全…

Python 版本的 2024详细代码

2048游戏的Python实现 概述&#xff1a; 2048是一款流行的单人益智游戏&#xff0c;玩家通过滑动数字瓷砖来合并相同的数字&#xff0c;目标是合成2048这个数字。本文将介绍如何使用Python和Pygame库实现2048游戏的基本功能&#xff0c;包括游戏逻辑、界面绘制和用户交互。 主…

排序算法(选择排序、直接插入排序、冒泡排序、二路归并排序)(C语言版)

对数组进行排序&#xff0c;主要演示选择排序、直接排序、冒泡排序、二路归并排序算法&#xff0c;附上代码演示 一、编写好各类排序方法的函数 &#xff08;1&#xff09; s_sort(int e[],int n):选择排序。 &#xff08;2&#xff09;si_sort(int e[],int n):直接插人排序。…

Unity图形学之Surface Shader结构

1.没有Pass&#xff1a;因为Render Path已经封装好了 Shader "Custom/Test" {Properties{_Color ("Color", Color) (1,1,1,1)_MainTex ("Albedo (RGB)", 2D) "white" {}_Glossiness ("Smoothness", Range(0,1)) 0.5_Meta…

数据集-目标检测系列- 牵牛花 检测数据集 morning_glory >> DataBall

数据集-目标检测系列- 牵牛花 检测数据集 morning DataBall 助力快速掌握数据集的信息和使用方式&#xff0c;会员享有 百种数据集&#xff0c;持续增加中。 贵在坚持&#xff01; 数据样例项目地址&#xff1a; * 相关项目 1&#xff09;数据集可视化项目&#xff1a;git…

摄影:相机控色

摄影&#xff1a;相机控色 白平衡&#xff08;White Balance&#xff09;白平衡的作用&#xff1a; 白平衡的使用环境色温下相机色温下总结 白平衡偏移与包围白平衡包围 影调 白平衡&#xff08;White Balance&#xff09; 人眼看到的白色&#xff1a;会自动适应环境光线。 相…

Odoo :免费且开源的农牧行业ERP管理系统

文 / 开源智造Odoo亚太金牌服务 引言 提供农牧企业数字化、智能化、无人化产品服务及全产业链高度协同的一体化解决方案&#xff0c;提升企业智慧种养、成本领先、产业互联的核心竞争力。 行业典型痛点 一、成本管理粗放&#xff0c;效率低、管控弱 产品研发过程缺少体系化…

oracle查看锁阻塞-谁阻塞了谁

一 模拟锁阻塞 #阻塞1 一个会话正在往一个大表写入大量数据的时候&#xff0c;另一个会话加字段&#xff1a; #会话1 #会话2 会话2被阻塞了。 #阻塞2 模拟一个会话update一条记录&#xff0c;没提交。 另一个会话也update这一条记录&#xff1a; 会话2被阻塞了。 二 简单查…

HDR视频技术之三:色度学与颜色空间

HDR 技术的第二个理论基础是色度学。从前面的内容中可以了解到&#xff0c;光学以及人类视觉感知模型为人类提供了解释与分析人类感知亮度的理论基础&#xff0c;但是 HDR 技术不仅仅关注于提升图像与视频的亮度范围&#xff0c;同时也关注于提供更加丰富的色彩。因此&#xff…

神经网络中常用的激活函数(公式 + 函数图像)

激活函数是人工神经网络中的一个关键组件&#xff0c;负责引入非线性&#xff0c;从而使神经网络能够学习和表示复杂的非线性关系。没有激活函数&#xff0c;神经网络中的所有计算都是线性变换&#xff0c;而线性模型的表达能力有限&#xff0c;无法处理复杂的任务。 激活函数…

Redis——Raft算法

Raft使用较为广泛的强一致性、去中心化、高可用的分布式协议&#xff0c;即使在网络、节点故障等情况下&#xff0c;多个节点依然能达到一致性。 其中redis、etcd等都用到了这种算法 在Redis集群中&#xff0c;采取的主从复制结构&#xff0c;当主节点宕机后&#xff0c;哨兵会…

C 语言复习总结记录二

C 语言复习总结记录二 一 控制语句 1、语句的分类 表达式语句函数调用语句复合语句控制语句空语句 控制语句 控制程序的执行流程&#xff0c;实现程序的各种结构方式 C 语言支持三种结构 &#xff1a;顺序结构、选择结构、循环结构&#xff0c;由特定的语句定义符组成C语言…