fix/更新部署文档-qdj-0521

dev
邱德佳 6 days ago
parent 588a1727b9
commit 792934c130

@ -5,15 +5,13 @@
目标是:
- 不改源码
- 用 Visual Studio 2022 成功编译
- 能在本机直接运行 FreeCAD
- 能在 VS 里按 `F5` 调试
本文档基于下面这套已经验证成功的组合:
- 源码分支:`releases/FreeCAD-1-1`
- 源码版本:`1.1.1-28-g94f4cb77f6`
- 编译器:Visual Studio 2022
- 编译器:`cmake`
- 构建配置:`RelWithDebInfo | x64`
- LibPack`LibPack-1.1.0-v3.1.1.3-Release`
@ -24,10 +22,10 @@
建议按下面这样放:
```text
D:\project\LightWork3D\FreeCAD 源码目录
E:\fc\LibPack-1.1.0-v3.1.1.3-Release 依赖目录
E:\fc\build-relwithdebinfo-libpack3113 构建目录
E:\fc\run-FreeCAD-1.1.1 安装后的运行目录
D:\LightWork3D\ 源码目录
D:\LibPack-1.1.0-v3.1.1.3-Release 依赖目录
D:\LightWork3D\build 构建目录
D:\run-FreeCAD-1.1.1 安装后的运行目录
```
不要把所有东西都堆在一个目录里。
@ -36,36 +34,26 @@ E:\fc\run-FreeCAD-1.1.1 安装后的运行目录
至少准备好这些:
1. `Visual Studio 2022`
2. `Desktop development with C++` 工作负载
3. `CMake`
4. `Git`
1. `Desktop development with C++` 工作负载
2. `CMake`
3. `Git`
建议:
- 用 64 位系统
- `E:` 盘最好预留 100GB 以上
- `C:``D:` 至少各留 30GB 可用空间
- `D:` 盘最好预留 100GB 以上
## 3. 下载源码
把 FreeCAD 源码放到:
`git clone https://git.ngsk.tech/ngskcloud/LightWork3D.git`
确认在以下目录:
```text
D:\project\LightWork3D\FreeCAD
D:\LightWork3D\
```
如果你已经有源码,确认当前分支是:
切换到dev分支
```powershell
git -C D:\project\LightWork3D\FreeCAD rev-parse --abbrev-ref HEAD
```
应该看到:
```text
releases/FreeCAD-1-1
```
## 4. 下载完全匹配的 LibPack
@ -78,81 +66,25 @@ releases/FreeCAD-1-1
下载后解压到:
```text
E:\fc\LibPack-1.1.0-v3.1.1.3-Release
D:\LibPack-1.1.0-v3.1.1.3-Release
```
不要用 `3.1.1.2`
这份源码配 `3.1.1.2` 时,已经实测会在链接阶段报 `boost::program_options ... contains` 相关错误。
## 5. 清理磁盘空间
如果你之前编过很多次,建议先清理旧构建目录。
重点清理这些“可再生目录”:
```text
旧 build 目录
旧 LibPack 目录
下载缓存
C:\Users\<你的用户名>\AppData\Local\Temp
C:\Windows\Temp
```
如果你在编译中看到下面这些错误:
```text
No space left on device
磁盘空间不足
无法创建目录
```
那不是源码问题,就是磁盘满了。
确保c盘d盘空间足够
## 6. 新建构建目录
`E:` 盘新建目录:
```text
E:\fc\build-relwithdebinfo-libpack3113
```
## 7. 用 CMake 生成 VS 工程
打开 PowerShell执行
```powershell
$cmake = 'C:\CMake\bin\cmake.exe'
$src = 'D:\project\LightWork3D\FreeCAD'
$build = 'E:\fc\build-relwithdebinfo-libpack3113'
$libpack = 'E:\fc\LibPack-1.1.0-v3.1.1.3-Release'
$env:Path = @(
'C:\CMake\bin',
'D:\VisualStudio\MSBuild\Current\Bin',
'D:\VisualStudio\Common7\IDE',
'C:\Git\cmd',
'C:\Windows\System32',
'C:\Windows',
'C:\Windows\System32\Wbem',
'C:\Windows\System32\WindowsPowerShell\v1.0',
"$libpack\bin",
"$libpack\lib"
) -join ';'
& $cmake `
-S $src `
-B $build `
-G 'Visual Studio 17 2022' `
-A x64 `
-D FREECAD_LIBPACK_USE=ON `
-D FREECAD_LIBPACK_DIR=$libpack `
-D CMAKE_CONFIGURATION_TYPES=RelWithDebInfo
```
`D:\LightWork3D\build ` 构建目录
成功后会生成:
## 7. 用 CMake 生成工程
```text
E:\fc\build-relwithdebinfo-libpack3113\FreeCAD.sln
```bash
cmake -S D:\LightWork3D -B D:\LightWork3D\bulid
-DFREECAD_LIBPACK_DIR=D:\LibPack-1.1.0-v3.1.1.3-Release
-DCMAKE_DISABLE_FIND_PACKAGE_Shiboken6=TRUE
-DCMAKE_DISABLE_FIND_PACKAGE_PySide6=TRUE
```
## 8. 编译前先记住一个坑
@ -177,26 +109,7 @@ error C1060: 编译器的堆空间不足
继续在 PowerShell 里执行:
```powershell
$cmake = 'C:\CMake\bin\cmake.exe'
$build = 'E:\fc\build-relwithdebinfo-libpack3113'
$libpack = 'E:\fc\LibPack-1.1.0-v3.1.1.3-Release'
$env:Path = @(
'C:\CMake\bin',
'D:\VisualStudio\MSBuild\Current\Bin',
'D:\VisualStudio\Common7\IDE',
'C:\Git\cmd',
'C:\Windows\System32',
'C:\Windows',
'C:\Windows\System32\Wbem',
'C:\Windows\System32\WindowsPowerShell\v1.0',
"$libpack\bin",
"$libpack\lib"
) -join ';'
$env:_CL_ = '/MP1'
& $cmake --build $build --config RelWithDebInfo --target ALL_BUILD --parallel 1
cmake --build D:\LightWork3D\bulid --config RelWithDebInfo --target INSTALL --parallel 4
```
说明:
@ -211,7 +124,7 @@ $env:_CL_ = '/MP1'
很多人编译成功后,第一反应是去点:
```text
E:\fc\build-relwithdebinfo-libpack3113\bin\RelWithDebInfo\FreeCAD.exe
D:\FreeCAD\bin\RelWithDebInfo\FreeCAD.exe
```
这通常会报各种缺 DLL比如
@ -229,19 +142,19 @@ E:\fc\build-relwithdebinfo-libpack3113\bin\RelWithDebInfo\FreeCAD.exe
编译完成后执行:
```powershell
$cmake = 'C:\CMake\bin\cmake.exe'
$build = 'E:\fc\build-relwithdebinfo-libpack3113'
$prefix = 'E:\fc\run-FreeCAD-1.1.1'
cmake --build D:\LightWork3D\bulid --config RelWithDebInfo --target INSTALL
& $cmake --install $build --config RelWithDebInfo --prefix $prefix
cmake --install D:\LightWork3D\bulid --config RelWithDebInfo --prefix D:\FreeCAD
```
执行完以后,真正建议运行的是:
```text
E:\fc\run-FreeCAD-1.1.1\bin\FreeCAD.exe
D:\FreeCAD\bin\RelWithDebInfo\FreeCAD.exe
```
# 到这一步一般就可以运行了。以下是常见问题:
## 12. 推荐运行方式
推荐做法不是双击某个 `bat`,而是:

Loading…
Cancel
Save