編譯 Solvespace

這裡將利用 MSYS2 編譯 Solvespace.

上列影片採用 MSYS2 編譯 Solvespace 原始碼.

MSYS2 套件中名稱帶有 mingw-w64-x86_64 表示用於 MinGW 64 bit 操作系統

更新系統核心組件:

pacman -Syu

安裝基本 C/C++ 編譯與開發工具:

pacman -S mingw-w64-x86_64-toolchain

安裝 CMake:

pacman -S mingw-w64-x86_64-cmake

編譯之前必須 rename Y:\msys64\usr\bin\sh.exe

接著就是 build solvespace.exe

以 git clone --recurse-submodules https://github.com/solvespace/solvespace.git 取下原始碼與子模組.

接下來進入倉儲後執行編譯:

cd solvespace

mkdir build

cd build

cmake .. -G "MinGW Makefiles" -DCMAKE_BUILD_TYPE=Release

mingw32-make

cd bin

solvespace.exe 即可執行.

編譯結束後, 之所以可以直接執行 solvespace.exe 是由於先前已經在啟動可攜程式系統時設定

set path_msys2=%Disk%:\msys64_20210419\mingw64\bin;

且將 path_msys2 納入 path 命令搜尋路徑中, 因此可以直接以命令列執行 solvespace.exe, 但是若要讓 solvespace.exe 獨立執行, 則需要 libwinpthread-1.dll to execute solvespace.exe

編譯 Range3

為了 compile Range3, MSYS2 除了mingw-w64-x86_64-toolchain 還必須加裝:

pacman -Sy mingw-w64-x86_64-qt5 pacman -Sy mingw-w64-x86_64-qt5-static pacman -Sy mingw-w64-x86_64-ffmpeg

接著編譯 Range3:

start Y:\msys64\mingw64.exe

cd /y/tmp/range3

./scripts/build.sh --clean && ./scripts/create_package.sh

而為了讓 svg 格式的 icons 能夠正確顯示, 必須納入 Qt5Svg.dll