跳转到内容

OpenSCAD 用户手册/在 Microsoft Windows 上构建

来自维基教科书,开放的世界中的开放书籍

设置工具和依赖项

[编辑 | 编辑源代码]

下载 64 位 MSYS2

注意:有关 32 位支持,请参阅以下 部分

按照说明安装,包括安装时升级(pacman -Syu, -Su)。此时无需安装开发组件。

安装 OpenSCAD 构建依赖项

[编辑 | 编辑源代码]

使用“开始”菜单中的“MSYS2 MinGW x64”链接启动 MSYS2 Shell 窗口。

$ curl -L https://github.com/openscad/openscad/raw/master/scripts/msys2-install-dependencies.sh | sh 

设置源目录

[编辑 | 编辑源代码]

使用“开始”菜单中的“MSYS2 MinGW x64”链接启动 MSYS2 Shell 窗口。

$ git clone https://github.com/openscad/openscad.git srcdir
$ cd srcdir
$ git submodule update --init --recursive  # needed because of manifold

将“srcdir”替换为您喜欢的任何名称。

使用命令行构建

[编辑 | 编辑源代码]

设置构建目录

[编辑 | 编辑源代码]

使用“开始”菜单中的“MSYS2 MinGW x64”链接启动 MSYS2 Shell 窗口。

$ cd srcdir
$ mkdir builddir
$ cd builddir
$ cmake .. -G"MSYS Makefiles" -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release -DEXPERIMENTAL=ON -DSNAPSHOT=ON

将“builddir”替换为您喜欢的任何名称。

使用“开始”菜单中的“MSYS2 MinGW x64”链接启动 MSYS2 Shell 窗口。

$ cd srcdir/builddir
$ make

您可能需要添加-jN,其中 N 是并行运行的编译次数,大约等于系统上的处理器核心数。

使用“开始”菜单中的“MSYS2 MinGW x64”链接启动 MSYS2 Shell 窗口。

$ cd srcdir/builddir
$ ./openscad

使用 Qt Creator IDE 构建

[编辑 | 编辑源代码]

注意:当我尝试此操作时,它大部分都构建了,但在 cgalutils.cc 中失败了,而在命令行构建有效的环境中。

安装 QT Creator

[编辑 | 编辑源代码]
$ pacman -S mingw-w64-x86_64-qt-creator

加载项目

[编辑 | 编辑源代码]
$ qtcreator &

打开CMakeLists.txt从源代码树的顶部。使用默认配置。

使用 Ctrl-B 或“构建”/“构建项目”"openscad"构建。

32 位支持

[编辑 | 编辑源代码]

可以通过从 MSYS2 安装页面安装 32 位版本的 MSYS2,在 32 位系统上构建 OpenSCAD。(更多信息即将发布。)

预构建 OpenSCAD

[编辑 | 编辑源代码]

请注意,MSYS2 还提供预编译的 OpenSCAD 包。可以使用以下命令安装它

$ pacman -S mingw-w64-x86_64-openscad

历史记录

[编辑 | 编辑源代码]

以下是本页先前版本中的历史内容,可能仍然适用。

QtCreator

[编辑 | 编辑源代码]

必须将“构建类型”更改为“发布”。

在某些情况下,使用 flex 和 bison 生成解析器代码时构建会失败。在这种情况下,禁用“影子构建”(请参阅“项目”选项卡/“常规设置”)可以有所帮助。

构建调试版本

[编辑 | 编辑源代码]

目前,QScintilla 包仅提供库的发布版本。无法将其与 OpenSCAD 的调试版本一起使用(生成的二进制文件将在 Qt 内部崩溃并出现断言错误)。

要创建 OpenSCAD 的工作调试版本,必须手动构建 QScintilla 的调试版本。

  • 解压缩存档,更改到 QScintilla 源代码树中的 Qt4Qt5 子文件夹,并编辑 qscintilla.pro 项目文件。重命名构建目标,以便 DLL 获取“d”后缀
- TARGET = qscintilla2
+ TARGET = qscintilla2d
  • 将发布配置选项更改为调试(也在 qscintilla.pro 中)
- CONFIG += qt warn_off release thread exceptions
+ CONFIG += qt warn_off debug thread exceptions
  • 构建调试 DLL
$ qmake
$ mingw32-make
  • 将调试库复制到默认的 MSYS2 文件夹中
$ cp debug/libqscintilla2d.dll.a /mingw64/lib/
$ cp debug/qscintilla2d.dll /mingw64/bin/

OpenGL(可选)

[编辑 | 编辑源代码]

OpenSCAD 需要至少 OpenGL 2.0 版本才能使用 OpenCSG 正确渲染预览。可以使用旧版本(例如,Windows 提供的默认版本 1.4),但显示可能与预期输出不同。

对于无法提供所需 OpenGL 版本的系统(例如,在 VM 上运行时),仍然可以使用 Mesa 软件渲染器获取更新的 OpenGL 驱动程序。

$ pacman -S mingw-w64-x86_64-mesa

安装 mesa 驱动程序后(默认位置为 C:\msys64\mingw64\bin,驱动程序本身为 opengl32.dll),甚至可以通过将其复制到与 OpenSCAD.exe 相同的文件夹中来激活它。

可以通过将其复制到 Windows system32 文件夹(替换旧的系统驱动程序)来为整个系统启用它。(警告:仅在您有备份并且了解如何在损坏的 Windows 安装中恢复文件的情况下才执行此操作!)

华夏公益教科书