在 Windows 上编译 FreeCAD 比较复杂,但按步骤来是可以稳定完成的。我给你一套实战可用流程(适合 Windows 10/11),尽量避免踩坑。


一、推荐方案(最稳):使用 Conda + CMake + VS

1️⃣ 安装基础工具

你需要先准备:

  • Visual Studio(建议 2022)
    • 勾选:
      • Desktop development with C++
      • MSVC v143
      • Windows SDK
  • CMake(>= 3.20)
  • Git
  • Anaconda 或 Miniconda

2️⃣ 创建 FreeCAD 编译环境

打开 Anaconda Prompt

conda create -n freecad python=3.10
conda activate freecad

安装依赖(关键步骤):

conda install -c conda-forge \
freecad \
cmake \
ninja \
boost \
eigen \
oce \
pivy \
qt \
xerces-c \
coin3d \
vtk

👉 说明:

  • conda-forge 已经帮你解决 90% 依赖问题
  • 这是 Windows 成功率最高的方式

3️⃣ 获取源码

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

4️⃣ CMake 配置

创建 build 目录:

mkdir build
cd build

运行 CMake:

cmake .. -G "Visual Studio 17 2022" -A x64 \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_PREFIX_PATH=%CONDA_PREFIX%

👉 关键点:

  • CONDA_PREFIX 非常重要(依赖路径)
  • 否则会出现:
    • 找不到 yaml-cpp
    • 找不到 Qt / Boost

5️⃣ 编译

cmake --build . --config Release

或者用 VS 打开 .sln 编译。


6️⃣ 运行

cd bin
FreeCAD.exe

二、常见坑(你很可能会遇到)

❌ 1. yaml-cpp 找不到

你之前已经遇到类似问题:

👉 解决:

conda install -c conda-forge yaml-cpp

或手动指定:

-Dyaml-cpp_DIR=%CONDA_PREFIX%/Library/lib/cmake/yaml-cpp

❌ 2. Qt 找不到

-DQt5_DIR=%CONDA_PREFIX%/Library/lib/cmake/Qt5

❌ 3. OCC / OCE 问题(几何内核)

FreeCAD 用:

  • OpenCASCADE

建议直接用 conda:

conda install -c conda-forge occt

❌ 4. 编译非常慢

解决:

cmake --build . --config Release -- /m

(多核编译)


三、进阶:开发建议(你做光伏软件很关键)

既然你之前提到要做:

👉 基于 FreeCAD 开发光伏软件

建议:

✔ 重点模块

  • Part(几何建模)
  • Mesh(网格)
  • FEM(仿真)
  • Python API(二次开发核心)

✔ 推荐方式

用 Python 扩展:

import FreeCAD
import Part

👉 比直接改 C++ 快 10 倍


四、如果你想更快(推荐)

其实你可以不用编译,直接用:

conda install -c conda-forge freecad

然后做开发:

GUI 扩展

插件开发(Workbench)

Python 自动建模