PrusaSlicer 在Windows進行編譯和開發(fā)

一步一步 Visual Studio 2019 說明
安裝工具
從VisualStudio.Microsoft.com/vs/安裝 Visual Studio 社區(qū) 2019. 不支持舊版本,因為 Prusaslicer 需要支持 C++17. 選擇 C++ 的所有工作負載選項,并確保在安裝后啟動 Visual Studio(以確保完整安裝完成)。
從下載中安裝 Git for WindowsGitforWindows.org并運行 EXE,接受所有默認值
下載源
克隆保存庫。要將其放在 C:\SRC\prusaslicer 中,請運行:
c:> mkdir srcc:> cd src
c:\src> git clone https://github.com/prusa3d/PrusaSlicer.git
運行自動生成腳本
該腳本 build_win.bat
將自動查找默認的 Visual Studio 安裝,設(shè)置生成環(huán)境,然后運行 CMake 和 MSBuild 以根據(jù)需要生成依賴項和應(yīng)用程序。如果你希望手動執(zhí)行這些步驟,可以跳到下一節(jié)中的手動構(gòu)建說明。否則,只需運行以下命令即可使用默認配置進行所有操作:
c:\src>cd c:\src\PrusaSlicerc:\src\PrusaSlicer>build_win.bat -d=..\PrusaSlicer-deps -r=console
構(gòu)建腳本將運行一段時間(超過一個小時,具體取決于你的計算機),并自動執(zhí)行以下步驟:
將 RELWithDebinfo
c:\src\PrusaSlicer-deps
配置并構(gòu)建deps為目標目錄全部應(yīng)用目標配置和構(gòu)建為 RelWithDebinfo
啟動生成
prusa-slicer-console.exe
的二進制文件
你可以更改上述命令行選項以執(zhí)行以下操作:
通過指向
-d
不同的目錄來更改依賴項的目標,例如:build_win.bat -d=s:\PrusaSlicerDeps
生成完成后,在 Visual Studio 中打開解決方案,方法是將
-r
開關(guān)更改為-r=ide
通過添加
-c=Release
或完整的調(diào)試版本-c=Debug
,生成沒有調(diào)試信息的發(fā)布版本。使用以下
build_win.bat -s=app-dirty
命令執(zhí)行增量應(yīng)用程序構(gòu)建(默認):清理并重建應(yīng)用程序:
build_win.bat -s=app
清理并重建依賴項:
build_win.bat -s=deps
清理并重建所有內(nèi)容(應(yīng)用程序和 DEP):
build_win.bat -s=all
通過運行以下命令,可以列出生成腳本選項的完整列表:
build_win.bat -?
故障排除
對于日常開發(fā),你最好從 VisualStudio 中啟動構(gòu)建。但是,如果你在更新源代碼樹后遇到構(gòu)建失敗,則該 build_win.bat
腳本非常有用。以下是一些需要記住的提示:
輸出
build_win.bat
的最后幾行通常包含最有用的錯誤消息。如果 CMake 報告缺少二進制文件或路徑(例如,在更新 Visual Studio 之后),則使用
build_win.bat
進行構(gòu)建將強制 CMake 在出現(xiàn)錯誤時重新生成其緩存。在 DEPS 更改后,你可能只需要使用
-s=all
交換機重建所有內(nèi)容。通讀下一節(jié)中的說明可能有助于診斷更復雜的問題。
手動構(gòu)建說明
如果你想了解如何執(zhí)行手動構(gòu)建,或者如果你正在解決自動構(gòu)建腳本的問題,請按照下面的步驟操作。
編譯依賴項。
依賴關(guān)系很少更新,因此它們是從 Prusaslicer 源樹中編譯出來的。轉(zhuǎn)到 Windows 開始菜單并單擊“Visual Studio 2019 ”文件夾,然后選擇->“x64 Native Tools Command Prompt ”打開命令窗口并運行以下命令:
cd c:\src\PrusaSlicer\depsmkdir buildcd buildcmake .. -G "Visual Studio 16 2019" -DDESTDIR="c:\src\PrusaSlicer-deps" msbuild /m ALL_BUILD.vcxproj // This took 13.5 minutes on my machine: core I7-7700K @ 4.2Ghz with 32GB main memory and 20min on a average laptop
為 Prusaslicer 生成 Visual Studio 項目文件,引用預編譯的依賴項。
轉(zhuǎn)到 Windows 開始菜單并單擊“Visual Studio 2019 ”文件夾,然后選擇->“x64 Native Tools Command Prompt ”打開命令窗口并運行以下命令:
cd c:\src\PrusaSlicer\mkdir buildcd buildcmake .. -G "Visual Studio 16 2019" -DCMAKE_PREFIX_PATH="c:\src\PrusaSlicer-deps\usr\local"
請注意, CMAKE_PREFIX_PATH
必須是絕對路徑。像“..\prusaslicer-deps\usr\local”這樣的相對路徑不起作用。
編譯 Prusaslicer.
雙擊 C:\SRC\Prusaslicer\build\Prusaslicer.SLN 以在 Visual Studio 2019 中打開。或者打開 Visual Studio for C++Development(VS 在你第一次啟動它時要求)。
選擇 Prusaslicer_ 應(yīng)用程序 _GUI 作為啟動項目(右鍵單擊-> 設(shè)置為啟動項目)。
運行 Build->Rebuild Solution 一次以填充所有必需的依賴模塊。當你構(gòu)建/運行時,這不會自動完成。如果同時運行調(diào)試和發(fā)布變體,則需要對每個變體執(zhí)行一次此操作。
調(diào)試-> 開始調(diào)試或按 F5
Prusaslicer 應(yīng)該啟動。你已經(jīng)準備好了!
注:感謝 @douggorgen 的原始指南,作為一個問題的答案
以下信息已過時,但仍可供參考。
我們已經(jīng)切換到 MS Visual Studio 2019。
我們不再使用 MSVS 2013. 目前,我們正在創(chuàng)建新的預構(gòu)建依賴包并更新此文檔。在此期間,你需要自己和以前一樣。編譯依賴項,除非使用 MSVS 2019(而不是 2013)的 CMake 生成器。
謝謝你的理解。
在 Microsoft Windows 上構(gòu)建 Prusaslicer
~~ 目前支持在 Windows 上構(gòu)建 Prusaslicer 的方法是使用 CMake 和 MS Visual Studio 2013. 你可以使用免費Visual Studio 2013 社區(qū)版的。cmake 安裝程序可從官方網(wǎng)站下載。~~
~~ 根據(jù)我們的一些用戶的報告,使用較新版本的 MSVS(2015,2017)進行構(gòu)建可能也會起作用。~~
注意:感謝@ 卓越(SuperMerill)對本指南的測試和啟發(fā)。
依賴關(guān)系
在 Windows 上,Prusaslicer 是針對靜態(tài)構(gòu)建的庫構(gòu)建的。~~ 我們提供了一個包含所有所需依賴項的預建包。此軟件包僅適用于 Visual Studio 2013,因此 ~~ 如果你使用的是較新版本的 Visual Studio,則需要根據(jù)below自行編譯依賴項。該軟件包有幾種變體:
64 位,僅發(fā)行模式(41 MB,578 MB 未壓縮)64 位,發(fā)布與調(diào)試模式(88 MB,1.3 GB 未打包)32 位,僅發(fā)行模式(38 MB,520 MB 未壓縮)32 位,發(fā)布與調(diào)試模式(74 MB,1.1 GB 未打包)
當不確定時,使用僅釋放模式變量,發(fā)布和調(diào)試變量僅用于調(diào)試和開發(fā)。
如果你不確定在哪里打開包裝,請將其 C:\local\
打開(但它實際上可以在任何地方)。
或者,你也可以自己編譯依賴項,請參閱下文。
使用 Visual Studio 生成 Prusaslicer
首先,通過 Git 或提取源代碼存檔來獲取 Prusaslicer 源代碼。
然后,你需要記下依賴關(guān)系的所謂“前綴路徑”,這是依賴關(guān)系包 + \usr\local
附加的位置。例如,在 64 位上,這將是 C:\local\destdir-64\usr\local
。需要將前綴路徑傳遞給 cmake.
準備就緒后,打開相關(guān)的 Visual Studio 命令行并 cd
進入包含 Prusaslicer 源代碼的目錄。使用以下命令準備 Visual Studio 解決方案文件:
mkdir build cd build cmake .. -G "Visual Studio 12 Win64" -DCMAKE_PREFIX_PATH=""
請注意,如果你正在構(gòu)建 32 位變體,則需要將 "Visual Studio 12 Win64"
更改為 "Visual Studio 12"
。
相反,如果你使用的是 2013 以外的 Visual Studio 版本,則需要相應(yīng)地更改版本號。
如果 cmake
已完成且沒有錯誤,請轉(zhuǎn)到生成目錄并在 Visual Studio 中打開 PrusaSlicer.sln
解決方案文件。在構(gòu)建之前,請確保你構(gòu)建的是正確的項目(使用以 PrusaSlicer_app_...
開頭的項目之一),并且你構(gòu)建的是正確的配置,即釋放vs調(diào)試。當不確定時,選擇釋放。請注意,你將無法針對釋放只有-的依賴包構(gòu)建調(diào)試變體。
使用 INSTALL
項目安裝
Prusaslicer 可以從 Visual Studio 或 Visual Studio 的構(gòu)建目錄( src\Release
或 src\Debug
)運行,但對于長期使用,你可能希望使用 INSTALL
項目安裝在某個位置。默認情況下,這將安裝到 C:\Program Files\PrusaSlicer
。要自定義安裝路徑, -DCMAKE_INSTALL_PREFIX=<path of your choice>
請在調(diào)用 cmake
時使用。
從命令行生成
有幾個選項可用于從命令行進行構(gòu)建:
msbuild
Ninja
nmake
若要使用 MSBuild 生成,請使用與上一段中相同的 cmake 命令,然后使用
msbuild /m /P:Configuration=Release ALL_BUILD.vcxproj
要使用 ninja 或 NMAKE 進行構(gòu)建,請將 cmake 調(diào)用中的選項分別替換 -G
為 -G Ninja
或 -G "NMake Makefiles"
。然后使用 ninja
或 nmake
開始構(gòu)建。
要安裝,請使用 msbuild/P:Configuration=Release INSTALL.vcxproj
、 ninja install
或 nmake install
。
自己構(gòu)建依賴關(guān)系包
依賴關(guān)系包是在 Prusaslicer 源代碼的子目錄中 deps
使用 cmake 腳本構(gòu)建的。(這有意不與其他源代碼中的 cmake 腳本互連。)
打開首選的 Visual Studio 命令行(64 位或 32 位變體),并 cd
進入包含 Prusaslicer 源代碼的目錄。然后 cd
進入 deps
目錄并使用以下命令進行構(gòu)建:
mkdir build cd build cmake .. -G "Visual Studio 16 2019" -DDESTDIR="C:\local\destdir-custom" msbuild /m ALL_BUILD.vcxproj
你還可以使用 Visual Studio GUI 或上面提到的其他生成器。
該 DESTDIR
選項是安裝捆綁包的位置。這可能是定制的。如果將其留空,則 DESTDIR
將放置在同一 build
目錄中。
警告:如果 build
目錄在其他文件夾中嵌套得太深,則生成過程中的各種文件路徑會變得太長,并且生成可能會由于文件寫入錯誤(*)而失敗。因此,建議將 build
目錄放置在離驅(qū)動器根目錄相對較近的位置。
請注意,在構(gòu)建依賴包時,你可以使用 Visual Studio(即釋放或調(diào)試等)選擇的構(gòu)建變量是不相關(guān)。默認情況下,無論你在 Visual Studio 中選擇什么,依賴項生成都將生成兩者都__釋放和調(diào)試變體。你可以通過傳遞
-DDEP_DEBUG=OFF
cmake 的選項,這只會產(chǎn)生一個釋放構(gòu)建。
請參閱目錄中 deps
的 cmake 腳本,以查看在哪些版本中構(gòu)建了哪些依賴項,以及如何完成此操作。
*)具體來說,在構(gòu)建 Boost 時會出現(xiàn)問題。Boost 構(gòu)建工具將所有構(gòu)建選項附加到中間文件的路徑中,這些路徑不能由 b2.exe
或可能 ninja
由(?)正確處理。