一、获取源码
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
修改完再次编译就成功了。