首页 > 其他分享 >FreeCAD的编译

FreeCAD的编译

时间:2022-10-23 20:02:01浏览次数:85  
标签:FreeCAD CMake Configure 编译 点击 BUILD

一、获取源码

https://github.com/ninuo/FreeCAD

通过git下载源码

git clone https://github.com/ninuo/FreeCAD.git

 

二、下载依赖包LibPack-0.19

通过https://github.com/apeltauer/FreeCAD/releases下载匹配的依赖包,最新的

https://github.com/apeltauer/FreeCAD/releases/download/LibPack_12.5.4/FreeCADLibs_12.5.4_x64_VC17.7z

三、下载相应的CMake

CMake是一个用于生成不同平台下构建项目的工具。Windows系统下编译FreeCAD,首先要根据FreeCAD对应版本的CMakeLists.txt生成Visual Studio的项目文件。下载链接

注意:

需要按照FreeCAD版本的说明,下载合适的CMake版本,需要下载版本号为11.x - 3.14.x****之间的CMake.

创建构建目录
在FreeCAD代码所在同级目录创建BUILD、INSTALL目录,并将下载的LibPack-0.19解压到该目录下。

 

 

生成构建项目

1、指定Source目录及其Build目录

 

 2、点击Configure进行变量配置

BUILD里勾选BUILD_QT5、BUILD_SANDBOX、BUILD_TEMPLATE,笔者没有勾选BUILD_JTREADER,因为源码里没有此代码,但makelists里有,勾选会报错。
修改FREECAD_LIBPACK_DIR为第三方库文件的路径

 

 再次点击Configure,进行第二次Configure。
此时已经可以顺利Configure,下方已出现Configure done,但上方仍有红色,继续配置。

 

 勾选 FREECAD里三个COPY

 

 再次点击Configure,copy的时间会久一些,出现Configure done且上方无红色, 表示Configure成功,点击generate,出现Generate done。点击Open Project ,打开Sln,至此CMake结束。

6)编译:找到FreeCadMain工程,点击右键,设为启动项目,点击重新生成解决方案,此时进行编译。编译时间较久,编译后会报错,错误信息,需手动修改:

在TechDrawGui中出现常量有换行符的解决方案

 

 

 

总共分三步

1)在cpp前面添加:
#pragma execution_character_set(“utf-8”)
2)右键项目——属性:
配置属性——高级——字符集:
设置为“使用多字节字符集”

3)在“C/C++——>命令行”后添加:/utf-8

修改完再次编译就成功了。

 

 

附录A:常见问题

C.1. CMake构建问题

问题:
如何指定编译生成的程序的安装目录?

解决方法:CMake中指定CMake_INSTALL_PREFIX

解决方法:CMake中勾选BUILD_QT5

 

C.2 在TechDrawGui中出现常量有换行符的解决方案

 

 

总共分三步

1)在cpp前面添加:
#pragma execution_character_set(“utf-8”)
2)右键项目——属性:
配置属性——高级——字符集:
设置为“使用多字节字符集”

3)在“C/C++——>命令行”后添加:/utf-8

修改完再次编译就成功了。

标签:FreeCAD,CMake,Configure,编译,点击,BUILD
From: https://www.cnblogs.com/unicornsir/p/16819302.html

相关文章

  • 解决vs code C语言编译路径丢失问题的一些思考
    -问题说明: 本人算是刚接触c语言的萌新,配置vscode编译环境时费了不少波折。今天我删除掉了一个包含mingw的文件(这个文件是本人下载过的两个编译器其中的一个,因为无法确认......
  • Macad3d的编译
    Macad3d编译的条件比较苛刻地址:https://github.com/Macad3D/Macad3DVS2022VisualStudio2022:需要安装.net桌面开发,C++桌面开发,.net6组件,C++/CLI支持组件,最后一......
  • linux下使用gcc编译含gets()函数的程序
    网上有很多关于gets()会导致栈溢出之类的废话也许会有初学者望着千篇一律的回答茫然无错,以为真的就只能使用fgets()了 首先你要了解gets()函数有极大的风险其次,在gcc......
  • Vue 笔记8 插槽slot、编译作用域
                          ......
  • 一、源码编译安装 postgresq 14 版本
    1、安装所需的依赖包使用操作系统用户pg14进行编译安装,软件安装目录为/home/pg14/soft,编译安装时需要开启ssl的支持[root@cdh01~]#yumgrouplistLoadedplugins:pro......
  • Ubuntu编译安装php7.4
    Ubuntu编译安装php7.4[[email protected]]#aptinstallgcclibssl-devlibxml2-devlibsqlite3-devlibcurl3-devlibxml2sqlite3[[email protected]]#......
  • Ubuntu编译安装php7.4
    Ubuntu编译安装php7.4 [[email protected]]#aptinstallgcclibssl-devlibxml2-devlibsqlite3-devlibcurl3-devlibxml2sqlite3 ​ ​ [root@ubuntu......
  • iOS如何编译webrtc源码并生成sdk
    webrtc是google开源的代码,但是代码都放在google的服务器上,然后有墙懂的都懂mkdirwebrtccdwebrtcgitclonehttps://chromium.googlesource.com/chromium/tools/de......
  • 反编译工具jad简单用法
      反编译工具jad简单用法  以下假设jad.exe在c:/java目录下一、基本用法Usage:   jad[option(s)]<filename(s)>直接输入类文件名,且支持通配符,如下所示。c:/ja......
  • 编译tensorflow-lite
    1.centos7编译tensorflow-lite-v2.4.4yuminstall-yepel-releasecentos-release-scl-rhyuminstall-yunzipgitmakedevtoolset-7-toolchainyuminstall-yswig......