跳轉到內容

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 安裝中恢復檔案的情況下才執行此操作!)

華夏公益教科書