FreeCad-0.19源码For Windows编译分享

前言

最近花了不少时间来研究这个FreeCad开源代码的编译,一是查看GitHub上的安装介绍,二是查看各位道友们踩坑安装的心路历程,由于比较信息零碎,也是跟着踩了不少的坑。。。为了帮助后人快速编译通过,节省时间决定先梳理出一套干净利落的组合拳。

安装准备

  • Visual Studio2022,如果是社区版就是免费的,如果是专业版,请自行购买或者找key吧
  • QT5.15版本以上,本人安装的是QT6.5.3版本;由于QT5.15后不再支持离线安装了,后面都是在线安装,QT6兼容QT5,可放心安装
  • CMake 3.28.3
  • Python3.8
  • FreeCAD-releases-FreeCAD-0-19.zip FreeCad 0.19的源码压缩包
  • FreeCADLibs_12.5.1_x64_VC17.7z FreeCad 0.19的LibPack

备注: github上FreeCad版本和LibPack版本很多,再github上选择合适的对应的很重要以上资料包,笔者均已打包好,存放于百度网盘
链接:https://pan.baidu.com/s/18GSy_PO9i1ErSDExdVoiFg?pwd=t121
提取码:t121

正文

假设你的电脑上已经准备好了VS2022,QT,CMake,python这些环境,那么接下来

  1. 新建FreeCad文件夹,将下载好的FreeCAD-releases-FreeCAD-0-19.zip和FreeCADLibs_12.5.1_x64_VC17.7z解压到这个新建文件夹中
  2. 打开CMake,配置路径
    在这里插入图片描述
    3.配置编译环境,finish
    在这里插入图片描述

4.一般弹窗口都是缺少东西导致的

在这里插入图片描述
5.导入libpack的路径,勾选grouped和Advanced,在Search处搜索“FREECAD”
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9c1be4bbd19c4292b4c41e9d3fd29e30.png
6.导入路径完毕后,搜索QT,勾选Build QT5,完事后点击Confugure
在这里插入图片描述
7.在BUILD选择C++14标准
在这里插入图片描述
8.搜索FREECAD_COPY,全部勾选上,点击Genderate
在这里插入图片描述
9.点击Open Project ,生成sln,设置FreeCADMain为启动项,搜索FeatureHole.cpp,并双击,里面有中文的单引号,需要手动替换为英文的单引号
例如1889 throw Base::IndexError(std::string(“Thread type ‘”) + thread_type_string + “’ unsupported”);
1902 throw Base::IndexError(std::string(“Cut type ‘”) + cut_type_string + “’ unsupported”);
1931 std::cerr << “Failed reading ‘” << f.filePath() << "’ with: "<< e.what() << “\n”;
把这三行中的‘改成英文的’就OK了。
在这里插入图片描述
10.对All_Build进行生成,运行即可

本博客参考至:Windows编译FreeCAD0.19

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

发展的挺快的Rust

C 可能在将来会逐步的退出历史舞台 Rust 在linux 上出现的频次越来越多了 新的语言和重构带来了更方便快捷的体验 好玩的命令集合 https://github.com/ibraheemdev/modern-unix.git 这速度&#xff0c;这花活儿

每个云渲染平台都说自己24小时客服,真的是这样吗?

我们平时经常看到很多云渲染平台说自己是7x24小时客服&#xff0c;随时找客服都能找到&#xff0c;真的是这样吗&#xff1f;其实不是的&#xff0c;很多云渲染平台根本没有24小时人工客服&#xff0c;哪他们的人工客服什么时候有呢&#xff1f;我们一起来看看。 1、 炫云 炫云…

分享购:社交电商新模式,购物省钱又赚钱的创新之道

分享购模式如今在网络世界中引起了广泛的讨论和关注&#xff0c;其独特的盈利方式更是吸引了大批用户的目光。那么&#xff0c;分享购究竟是什么呢&#xff1f; 分享购的核心亮点在于它巧妙地融合了各大主流电商平台&#xff0c;如淘宝、京东、拼多多等。用户在购物时无需改变原…

AcWing 3224. 画图 (BFS,Flood Fill,坐标变换)

用 ASCII 字符来画图是一件有趣的事情&#xff0c;并形成了一门被称为 ASCII Art 的艺术。 例如&#xff0c;下图是用 ASCII 字符画出来的 CSPRO 字样。 ..____.____..____..____...___.../.___/.___||.._.\|.._.\./._.\.|.|...\___.\|.|_).|.|_).|.|.|.||.|___.___).|..__/|.…

Spring之@Qualifier注解

场景重现 当我们注入的依赖存在多个候选者,我们得使用一些方法来筛选出唯一候选者,否则就会抛出异常 demo演示 创建接口Car,以及两个实现其接口的bean public interface Car { }Component public class RedCar implements Car { }Component public class WhiteCar implemen…

【python】python葡萄酒数据集—分类建模与分析(源码+数据集)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

Git原理及使用

1、Git初识 Git是一种版本控制器: 对于同一份文件,做多次改动,Git会记录每一次改动前后的文件。 通俗的讲就是⼀个可以记录⼯程的每⼀次改动和版本迭代的⼀个管理系统,同时也⽅便多⼈协同作业。 注意: Git其实只能跟踪⽂本⽂件的改动,⽐如TXT⽂件,⽹⻚,所有的程序代码…

matlab实现机器学习svm

一、目的和要求 1.编程实现SVM训练函数和预测函数&#xff1b; 2.绘制线性和非线性边界&#xff1b; 3.编写线性核函数 二、算法 1.线性svm&#xff1a; 分离超平面&#xff1a;wxb0&#xff0c;对于线性可分的数据集来说&#xff0c;这样的超平面有无穷多个&#xff08;…

汽车ECU的虚拟化技术(五) -- 对MCU虚拟化实现难点的思考

目录 1.概述 2.虚拟化软件的难点 2.1 虚拟化中的中断处理 2.2 虚拟ECU的通信 3.小结 1.概述 在上面文章里汽车ECU的虚拟化技术(四) -- 对MCU虚拟化实现难点的思考-CSDN博客&#xff0c;解了OEM面临新的电子电气架构下的集成难点&#xff0c;引入了hypervisor以及VM调度机制…

VMD + CEEMDAN 二次分解,CNN-Transformer预测模型

往期精彩内容&#xff1a; 时序预测&#xff1a;LSTM、ARIMA、Holt-Winters、SARIMA模型的分析与比较-CSDN博客 风速预测&#xff08;一&#xff09;数据集介绍和预处理-CSDN博客 风速预测&#xff08;二&#xff09;基于Pytorch的EMD-LSTM模型-CSDN博客 风速预测&#xff…

研华工控机610L学习笔记1:基本了解与认识

今日开始学习一些工控机的基本知识&#xff1a; 目录 目录 1、工控机介绍&#xff1a; 2、研华610L说明书参数了解&#xff1a; 3、基本结构了解&#xff1a; 前面板&#xff1a; 后窗&#xff1a; 4.RS232串口&#xff1a; ​编辑 5、工控机分类&#xff1a; 6、工控上…

深度学习pytorch——激活函数损失函数(持续更新)

论生物神经元与神经网络中的神经元联系——为什么使用激活函数&#xff1f; 我们将生物体中的神经元与神经网络中的神经元共同分析。从下图可以看出神经网络中的神经元与生物体中的神经元有很多相似之处&#xff0c;由于只有刺激达到一定的程度人体才可以感受到刺激&#xff0c…

一、SpringBoot基础搭建

本教程主要给初学SpringBoot的开发者&#xff0c;通过idea搭建单体服务提供手把手教学例程&#xff0c;主要目的在于理解环境的搭建&#xff0c;以及maven模块之间的整合与调用 源码&#xff1a;jun/learn-springboot 以商城项目为搭建例子&#xff0c;首先计划建1个父模块&…

微服务高级篇(三):分布式缓存+Redis集群

文章目录 一、单点Redis的问题及解决方案二、Redis持久化2.1 单机安装Redis2.2 RDB持久化2.3 AOF持久化2.4 RDB和AOF对比 三、Redis主从3.1 搭建Redis主从架构3.1.1 集群结构3.1.2 准备实例和配置3.1.3 启动3.1.4 开启主从关系3.1.5 测试 3.2 数据同步3.2.1 全量同步【建立连接…

【嵌入式——QT】QWT应用

【嵌入式——QT】QWT应用 概述步骤一步骤二步骤三代码声明代码实现图示 概述 QWT&#xff0c;全称Qt Widgets for Technical Applications&#xff0c;是一个基于Qt开发的第三方库。它主要为具有技术背景的程序提供GUI组件和一组实用类&#xff0c;用于生成各种统计图。QWT的主…

【JDBC编程】Java连接MySQL的五个步骤

目录 JDBC编程 1.JDBC的使用 2.数据库连接Connection 3.Statement对象 4.ResultSet对象 JDBC编程 JDBC编程运用了MySQL提供的 Java 的驱动包 mysql-connector-java &#xff0c;需要基于 Java 操作 MySQL 即需要该驱动包。同样的&#xff0c; 要基于 Java 操作 Oracle 数据库…

【文本输入框】显示输入文本的字数,并且限制输入字数不能超过***个字符

需求 实现一个输入框显示文本的字数&#xff0c;并且设置字数限制&#xff0c;当文本中没有内容或字符串长度超出限制&#xff0c;则不能点击确定按钮。 <div class"input-content"><div class"pt-2 rounded-tl-xl rounded-tr-xl bg-blue-100"&…

vue3+threejs新手从零开发卡牌游戏(十):创建己方战域

首先在game目录下创建site文件夹&#xff0c;用来存放战域相关代码&#xff1a; 这里思考下如何创建战域&#xff0c;我的想法是添加一个平面&#xff0c;将己方战域和对方战域都添加进这个平面中&#xff0c;所以首先我们先添加一个战域plane&#xff0c;site/index.vue代码如…

C是用什么语言写出来的?

C是用什么语言写出来的? C语言的起源和发展是一个迭代过程&#xff1a; 1. 最初的C语言编译器的开发始于对B语言的改进。B语言是由Ken Thompson设计的&#xff0c;它是基于BCPL语言简化而来的。在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整理了一份「 C语言的…

2024.3.20 使用maven打包jar文件和保存到本地仓库

2024.3.20 使用maven打包jar文件和保存到本地仓库 使用maven可以很方便地打包jar文件和导入jar文件&#xff0c;同时还可以将该文件保存在本地仓库重复调用。 使用maven打包jar文件和保存到本地仓库 package打包文件。 install导入本地仓库。 使用maven导入jar文件 点击“…