安装与环境配置
第02章 安装与环境配置
2.1 Windows平台安装
2.1.1 下载官方安装包
SolveSpace提供Windows平台的官方安装包,支持32位和64位系统。
下载地址
- 官方发布页: https://github.com/solvespace/solvespace/releases
- 直接下载链接:
- Windows 64位 (OpenMP):
solvespace-vX.X-windows-x64.exe - Windows 32位 (OpenMP):
solvespace-vX.X-windows.exe - Windows 64位 (单核):
solvespace-vX.X-windows-single-core-x64.exe - Windows 32位 (单核):
solvespace-vX.X-windows-single-core.exe
- Windows 64位 (OpenMP):
版本选择建议
- 现代电脑推荐使用64位OpenMP版本,支持多核并行计算
- 需要使用SpaceMouse等6DOF控制器时,选择32位版本(64位版本暂不支持)
- 单核版本适用于兼容性问题排查
2.1.2 安装步骤
-
下载安装程序
从GitHub releases页面下载适合系统的安装包 -
运行安装程序
双击下载的.exe文件 -
选择安装选项
- 安装路径(默认:
C:\Program Files\SolveSpace) - 创建桌面快捷方式
- 关联
.slvs文件
- 安装路径(默认:
-
完成安装
点击"完成"启动SolveSpace
2.1.3 便携版使用
如果不想安装,可以使用便携版:
- 下载
.zip格式的发布包 - 解压到任意目录
- 直接运行
solvespace.exe
2.1.4 使用Edge/Nightly构建
如果需要测试最新功能,可以使用自动构建的边缘版本:
Windows OpenMP 32位: https://nightly.link/solvespace/solvespace/workflows/cd/master/windows.zip
Windows OpenMP 64位: https://nightly.link/solvespace/solvespace/workflows/cd/master/windows_x64.zip
⚠️ 警告: Edge构建可能不稳定,仅供测试使用
2.2 macOS平台安装
2.2.1 官方DMG安装
-
下载DMG文件
从 releases 页面下载solvespace-vX.X-macos.dmg -
挂载DMG
双击下载的DMG文件 -
安装应用
将SolveSpace.app拖到Applications文件夹 -
首次运行
由于应用未签名,首次运行需要:- 在Finder中右键点击应用
- 选择"打开"
- 确认安全提示
2.2.2 使用Homebrew安装
# 添加cask
brew install --cask solvespace
2.2.3 Edge构建
macOS: https://nightly.link/solvespace/solvespace/workflows/cd/master/macos.zip
2.3 Linux平台安装
2.3.1 通过Snap Store安装
Snap是最简单的Linux安装方式:
# 安装稳定版
sudo snap install solvespace
# 安装边缘版(最新功能)
sudo snap install solvespace --edge
2.3.2 通过Flatpak安装
# 添加Flathub仓库(如果没有)
flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
# 安装SolveSpace
flatpak install flathub com.solvespace.SolveSpace
# 运行
flatpak run com.solvespace.SolveSpace
2.3.3 从源码编译
对于需要自定义构建或开发的用户,从源码编译是最佳选择。
Debian/Ubuntu依赖安装
sudo apt install git build-essential cmake zlib1g-dev libpng-dev \
libcairo2-dev libfreetype6-dev libjson-c-dev \
libfontconfig1-dev libpangomm-1.4-dev libgl-dev \
libglu-dev libspnav-dev libgtkmm-3.0-dev
# 可选:安装QT6用于QT界面
sudo apt install qt6-base-dev
Fedora/RHEL依赖安装
sudo dnf install git gcc-c++ cmake zlib-devel libpng-devel \
cairo-devel freetype-devel json-c-devel \
fontconfig-devel pangomm-devel mesa-libGL-devel \
mesa-libGLU-devel libspnav-devel gtkmm30-devel
# 可选:QT6支持
sudo dnf install qt6-qtbase-devel
获取源代码
git clone https://github.com/solvespace/solvespace
cd solvespace
git submodule update --init
编译
mkdir build
cd build
# 基本构建
cmake .. -DCMAKE_BUILD_TYPE=Release
# 启用OpenMP多线程(推荐)
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ON
# 启用LTO优化(可选,增加编译时间)
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ON -DENABLE_LTO=ON
# 构建QT界面(可选)
cmake .. -DCMAKE_BUILD_TYPE=Release -DUSE_QT_GUI=ON
# 仅构建命令行工具
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=OFF
# 编译
make -j$(nproc)
# 安装(可选)
sudo make install
构建产物
- GTK界面:
build/bin/solvespace - QT界面:
build/bin/solvespace-qt - 命令行工具:
build/bin/solvespace-cli
2.4 从源码编译(跨平台详解)
2.4.1 获取源代码
# 克隆仓库
git clone https://github.com/solvespace/solvespace
cd solvespace
# 初始化子模块
git submodule update --init
# 子模块包括:
# - extlib/eigen - 线性代数库
# - extlib/libdxfrw - DXF读写库
# - extlib/mimalloc - 内存分配器
# - extlib/q3d - OpenGL 3D支持
2.4.2 CMake配置选项
| 选项 | 默认值 | 说明 |
|---|---|---|
CMAKE_BUILD_TYPE |
Debug | 构建类型 (Release/Debug) |
ENABLE_OPENMP |
OFF | 启用多线程支持 |
ENABLE_LTO |
OFF | 启用链接时优化 |
ENABLE_GUI |
ON | 构建图形界面 |
ENABLE_CLI |
ON | 构建命令行工具 |
ENABLE_TESTS |
ON | 构建测试 |
ENABLE_COVERAGE |
OFF | 代码覆盖率 |
USE_QT_GUI |
OFF | 使用QT界面替代GTK |
2.4.3 Windows交叉编译
在Linux上为Windows交叉编译:
# 安装交叉编译工具
sudo apt install mingw-w64
# 配置交叉编译
mkdir build-win64
cd build-win64
cmake .. -DCMAKE_TOOLCHAIN_FILE=../cmake/Toolchain-mingw64.cmake \
-DCMAKE_BUILD_TYPE=Release
# 编译
make -j$(nproc)
2.4.4 macOS编译
# 安装依赖
brew install git cmake libomp
# 配置
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_OPENMP=ON
# 编译
make -j$(sysctl -n hw.ncpu)
生成Xcode项目
mkdir build
cd build
cmake .. -G Xcode
# 然后在Xcode中打开项目
2.4.5 Web版本编译(实验性)
Web版本使用Emscripten编译为WebAssembly:
# 安装Emscripten
git clone https://github.com/emscripten-core/emsdk
cd emsdk
./emsdk install latest
./emsdk activate latest
source ./emsdk_env.sh
cd ..
# 编译SolveSpace Web版
mkdir build-web
cd build-web
emcmake cmake .. -DCMAKE_BUILD_TYPE=Release \
-DENABLE_LTO=ON \
-DENABLE_TESTS=OFF \
-DENABLE_CLI=OFF \
-DENABLE_COVERAGE=OFF
make
# 运行
emrun build/bin/solvespace.html
⚠️ 注意: Web版本功能不完整,存在已知问题
2.5 开发环境配置
2.5.1 IDE配置
Visual Studio Code
推荐插件:
- C/C++ (Microsoft)
- CMake Tools
- clangd (代码分析)
.vscode/settings.json 示例:
{
"cmake.buildDirectory": "${workspaceFolder}/build",
"cmake.configureSettings": {
"CMAKE_BUILD_TYPE": "Debug",
"ENABLE_TESTS": "ON"
},
"C_Cpp.default.configurationProvider": "ms-vscode.cmake-tools"
}
Visual Studio
- 打开Visual Studio
- 选择"打开本地文件夹"
- 选择solvespace源码目录
- CMake会自动配置
CLion
- 文件 → 打开 → 选择solvespace目录
- CLion自动检测CMakeLists.txt
- 配置CMake选项
2.5.2 调试配置
Linux (GDB)
# 构建Debug版本
cmake .. -DCMAKE_BUILD_TYPE=Debug
make
# 使用GDB调试
gdb bin/solvespace
(gdb) run
# 复现崩溃后
(gdb) backtrace
(gdb) info locals
macOS (LLDB)
lldb bin/SolveSpace.app/Contents/MacOS/SolveSpace
(lldb) run
(lldb) backtrace all
(lldb) frame variable
Linux GUI调试环境变量
export G_DEBUG=fatal_warnings
export LIBGL_DEBUG=1
export MESA_DEBUG=1
./solvespace
2.5.3 运行测试
cd build
# 运行所有测试
ctest
# 运行特定测试
ctest -R constraint
# 详细输出
ctest -V
2.6 约束求解器库配置
SolveSpace的约束求解器可以作为独立库使用。
2.6.1 构建求解器库
mkdir build-solver
cd build-solver
cmake .. -DCMAKE_BUILD_TYPE=Release -DENABLE_GUI=OFF -DENABLE_CLI=OFF
make slvs
生成的库文件:
- Linux:
libslvs.so - Windows:
slvs.dll - macOS:
libslvs.dylib
2.6.2 库文件安装
# Linux
sudo cp libslvs.so /usr/local/lib/
sudo cp include/slvs.h /usr/local/include/
sudo ldconfig
# 或使用CMake安装
sudo make install
2.6.3 Python绑定安装
# 从PyPI安装
pip install py-slvs
# 从源码安装
cd solvespace
pip install .
2.7 常见问题排查
2.7.1 编译错误
错误: 找不到OpenGL
# Ubuntu/Debian
sudo apt install libgl-dev libglu-dev
# Fedora
sudo dnf install mesa-libGL-devel mesa-libGLU-devel
错误: GTK版本不匹配
# 确保安装GTK 3.16+
sudo apt install libgtkmm-3.0-dev
错误: 子模块未初始化
git submodule update --init --recursive
2.7.2 运行时问题
Linux: 显示问题
# 尝试不同的显示后端
LIBGL_ALWAYS_SOFTWARE=1 ./solvespace
macOS: 首次打开被阻止
# 移除隔离属性
xattr -d com.apple.quarantine /Applications/SolveSpace.app
Windows: DLL缺失
- 安装 Visual C++ Redistributable
- 使用依赖项walker检查缺失的DLL
2.7.3 性能问题
大文件打开慢
- 减少显示弦公差设置
- 禁用实时DOF计算
约束求解慢
- 简化复杂约束
- 分组设计
- 启用OpenMP构建
2.8 总结
本章介绍了SolveSpace在各平台的安装方法:
- Windows: 官方安装包、便携版
- macOS: DMG安装、Homebrew
- Linux: Snap、Flatpak、源码编译
- 源码编译: CMake配置、跨平台编译
- 开发环境: IDE配置、调试设置
- 求解器库: 独立库构建和安装
下一章将详细介绍SolveSpace的用户界面。
导航
- 上一章: 第01章 - SolveSpace概述与入门
- 下一章: 第03章 - 用户界面详解

浙公网安备 33010602011771号