FreeCAD v0.19源码编译与VS2017+Qt5环境搭建

简介: FreeCAD v0.19源码编译与VS2017+Qt5环境搭建

一、环境准备


VS2017,x64


cmake-3.14.5-win64-x64.msi


FreeCADLibs_12.1.2_x64_VC15.1.7z,源码依赖库,x64位,里面已集成boost/Qt5/Python等依赖环境,点击详细说明


依赖库下载:https://github.com/FreeCAD/FreeCAD/releases/tag/0.19_pre


FreeCAD LibPack Version 12.1.2 debug/release with
Visual Studio 2017
Qt 5.12.1
PySide2 build against Qt 5.12.1
Coin3D 4.0
Pivy
Python 3.6.8
OpenCascade 7.3

Boost 1.67 (including the debug files build against python_d.exe)

源码:https://github.com/FreeCAD/FreeCAD/tree/0.19_pre



二、CMake生成VS工程


1、建工程

image.png



注意,一定要选择x64,因为依赖库FreeCADLibs_12.1.2_x64_VC15.1.7z是64位的。这个很重要,如果误选了32位,则会报错:


CMake Error at C:/Program Files/CMake/share/cmake-3.14/Modules/FindBoost.cmake:2165 (message):
  Unable to find the requested Boost libraries.
  Boost version: 1.67.0
  Boost include path: F:/CADCAM/FreeCADLibs_12.1.2_x64_VC15.1/include
  Could not find the following Boost libraries:
          boost_filesystem
          boost_program_options
          boost_regex
          boost_system
          boost_thread
  Some (but not all) of the required Boost libraries were found.  You may
  need to install these additional Boost libraries.  Alternatively, set
  BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT
  to the location of Boost.
Call Stack (most recent call first):
  CMakeLists.txt:654 (find_package)
CMake Error at CMakeLists.txt:670 (message):
  =============================================
  Required components:
   filesystem;program_options;regex;system;thread
  Not found, install the components:
   filesystem;program_options;regex;system;thread
  =============================================

2、指定依赖库的路径


image.png

image.png



3、勾选需要的功能模块


image.png


4、先后点击按钮Configure和Generate。OK!



三、异常处理


如果CMake点击按钮Configure过程有boost库相关的错误信息,请打开项目的CMakeLists.txt文件


F:\CADCAM\FreeCAD-master\CMakeLists.txt  ,手动添加以下三句话,会有更详细的提示信息。


set(Boost_DEBUG ON) #是否开启Boost Debug模式,ON位开启,OFF关闭。开启之后会输出很多调试信息,方便寻找错误

set(Boost_ARCHITECTURE "-x32") # CPU架构,对应库文件文件名里的x32或者x64

set(Boost_THREADAPI "win32") # 线程类型,对应thread模块文件名里面的pthread或者win32



四、编译源码及依赖文件拷贝


VS2017打开F:\CADCAM\FreeCAD-master\build\FreeCAD.sln,使用x64编译器编译。


编译比较耗时,需要耐心等待。编译完成之后,程序还无法正常运行,需要把相关依赖文件附上:


1.把


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\bin


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\data


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\resources


拷贝到源文件工程目录F:\CADCAM\FreeCAD-master\build\


resources文件夹的文件很重要,QWebEngine所需的一些关键文件


qtwebengine_resources.pak

qtwebengine_resources_100p

qtwebengine_resources_200p.pak.pak

QtWebEngineProcess.exe

icudtl.dat  

缺失了它们,F:\CADCAM\FreeCAD-master\src\Mod\Web\Gui\BrowserView.cpp源码运行会报错,抛出异常。


QWebEngineProfile *profile = view->page()->profile();



2.把


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\plugins\iconengines


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\plugins\imageformats


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\plugins\platforms


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\plugins\printsupport


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\plugins\sqldrivers


拷贝到源文件工程目录F:\CADCAM\FreeCAD-master\build\bin


3.把


F:\CADCAM\FreeCADLibs_12.1.2_x64_VC15.1\translations\qtwebengine_locales


拷贝到源文件工程目录F:\CADCAM\FreeCAD-master\build\bin



五、其他版本同样适用


上述的方法,同样适用于以下环境:


VS2019+Qt5.12.9 x64+FreeCAD v0.18.5+FreeCADLibs_12.1.6_x64_VC15


https://github.com/FreeCAD/FreeCAD/tree/0.18.5


main函数的入口:F:\Software\CADCAM\FreeCAD\FreeCAD-0.18.5\src\Main\MainGui.cpp




---


FreeCAD是一个基于OpenCASCADE的开源CAD/CAE工具。 OpenCASCADE是一套开源的CAD/CAM/CAE几何模型核心,来自法国Matra Datavision公司,是著名的CAD软件EUCLID的开发平台。


https://github.com/FreeCAD/FreeCAD


https://www.freecadweb.org/wiki/Getting_started/zh-cn 入门教程


https://forum.freecadweb.org/index.php 社区


https://www.freecadweb.org/


https://www.freecadweb.org/wiki/CompileOnWindows 源码编译说明


https://github.com/FreeCAD/FreeCAD-ports-cache/releases 依赖库官方发布


https://github.com/apeltauer/FreeCAD/releases 依赖库非官方纯私人发布,版本比较新


https://github.com/FreeCAD/FreeCAD_Conda 依赖库新方式


https://www.opencascade.com/ 官网


https://www.opencascade.com/content/download-center


https://www.opencascade.com/content/latest-release


https://cmake.org/


https://cmake.org/files/


相关文章
|
2月前
|
C++
vtkdicom0.8_vtk9.2_dcmtk3.6.7_qt6.2编译OK
本文介绍了如何编译整合VTK 9.2、DICOM 0.8、DCMTK 3.6.7和Qt 6.2的步骤,包括安装Qt、CMake配置以及确认相关路径和版本设置。
vtkdicom0.8_vtk9.2_dcmtk3.6.7_qt6.2编译OK
|
2月前
|
Unix 网络虚拟化 C++
VS2022+Qt5.14.2成功编译MITK2022.10
使用VS2022和Qt5.14.2成功编译MITK2022.10的过程,包括编译结果的截图、遇到的编译问题的解决方法、两个重要的注意事项(patch文件格式的修改和ITK-gitclone-lastrun文件的存在),以及参考链接。文中详细描述了如何解决编译过程中遇到的错误C2220和警告C4819,以及如何修改文件编码和尾行格式。
143 1
VS2022+Qt5.14.2成功编译MITK2022.10
|
2月前
编译QCefView+VS2019+QT5.15.2
本文介绍了如何编译QCefView项目,并在VS2019和Qt 5.15.2环境下集成,包括编译结果、要点、cmake部署Qt的方法和相关参考链接。
126 1
编译QCefView+VS2019+QT5.15.2
|
2月前
|
计算机视觉
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录
这篇文章记录了使用VS2019编译Qt6.2.4、DCMTK3.6.7、VTK9.2.2、ITK5.3和OpenCV4.6.0的过程,包括下载和编译步骤,并提供了遇到编译错误时的解决方案和参考链接。
vs2019_qt6.2.4_dcmtk3.6.7_vtk9.2.2_itk5.3_opencv4.6.0编译记录
|
2月前
|
Windows
QT源码拾贝6-11(qwindowswindow)
这篇文章深入探讨了Qt源码中与窗口激活相关的函数,QDebug运算符重载,vscode的变量提示,Windows常用类型名,获取所有窗体的方法,以及QSharedPointer智能指针的使用。
QT源码拾贝6-11(qwindowswindow)
|
2月前
|
存储 Java C++
QT源码拾贝0-5(qimage和qpainter)
这篇文章介绍了在Qt源码中qimage和qpainter的使用,包括线程池的使用、智能指针的存储、std::exchange函数的应用、获取类对象的方法以及QChar字节操作。
QT源码拾贝0-5(qimage和qpainter)
|
2月前
|
C语言 C++ Windows
QT多插件通信框架CTK编译记录
本文记录了编译QT多插件通信框架CTK的过程,包括编译结果截图、部署配置、Log4Qt编译配置、参考链接和拓展资料。文中提供了详细的编译步骤和配置文件示例,以及相关的资源链接。
QT多插件通信框架CTK编译记录
|
2月前
|
机器学习/深度学习 Java 计算机视觉
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
本文记录了使用mingw81_64编译OpenCV 4.5.5、Qt 5.15.2、VTK 9.1的详细过程,包括编译结果截图、编译步骤、遇到的问题及其解决方案,以及相关参考链接。文中还提到了如何编译boost源码为静态库,并提供了测试代码示例。
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
|
2月前
|
C语言
BOOST1.75+QT5.15.2编译记录
本文记录了BOOST 1.75与Qt 5.15.2编译过程的详细步骤,包括编译结果截图、将boost源码编译为静态库的步骤,以及如何在Qt项目中使用BOOST库的测试代码。文章还提供了相关参考链接,以帮助解决在编译和使用过程中可能遇到的问题。
BOOST1.75+QT5.15.2编译记录
|
2月前
|
IDE 开发工具 C++
qt creator + vs2019编译记录
本文记录了作者在使用qt creator和vs2019编译项目时遇到的困难和解决方案,包括编译环境设置、qt creator编译脚本的成功案例、不带Ninja的编译脚本问题、错误示范以及相关参考链接。
qt creator + vs2019编译记录
下一篇
无影云桌面