全球快看点丨PrusaSlicer 在Windows进行编译和开发
一步一步 Visual Studio 2019 说明
安装工具
从VisualStudio.Microsoft.com/vs/安装 Visual Studio 社区 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 安装,设置生成环境,然后运行 CMake 和 MSBuild 以根据需要生成依赖项和应用程序。如果你希望手动执行这些步骤,可以跳到下一节中的手动构建说明。否则,只需运行以下命令即可使用默认配置进行所有操作:
c:\src>cd c:\src\PrusaSlicerc:\src\PrusaSlicer>build_win.bat -d=..\PrusaSlicer-deps -r=console
构建脚本将运行一段时间(超过一个小时,具体取决于你的计算机),并自动执行以下步骤:
将 RELWithDebinfo c:\src\PrusaSlicer-deps
配置并构建deps为目标目录
全部应用目标配置和构建为 RelWithDebinfo
启动生成 prusa-slicer-console.exe
的二进制文件
你可以更改上述命令行选项以执行以下操作:
通过指向 -d
不同的目录来更改依赖项的目标,例如: build_win.bat -d=s:\PrusaSlicerDeps
生成完成后,在 Visual Studio 中打开解决方案,方法是将 -r
开关更改为 -r=ide
通过添加 -c=Release
或完整的调试版本 -c=Debug
,生成没有调试信息的发布版本。
使用以下 build_win.bat -s=app-dirty
命令执行增量应用程序构建(默认):
清理并重建应用程序: build_win.bat -s=app
清理并重建依赖项: build_win.bat -s=deps
清理并重建所有内容(应用程序和 DEP): build_win.bat -s=all
通过运行以下命令,可以列出生成脚本选项的完整列表: build_win.bat -?
故障排除
对于日常开发,你最好从 VisualStudio 中启动构建。但是,如果你在更新源代码树后遇到构建失败,则该 build_win.bat
脚本非常有用。以下是一些需要记住的提示:
输出 build_win.bat
的最后几行通常包含最有用的错误消息。
如果 CMake 报告缺少二进制文件或路径(例如,在更新 Visual Studio 之后),则使用 build_win.bat
进行构建将强制 CMake 在出现错误时重新生成其缓存。
在 DEPS 更改后,你可能只需要使用 -s=all
交换机重建所有内容。
通读下一节中的说明可能有助于诊断更复杂的问题。
手动构建说明
如果你想了解如何执行手动构建,或者如果你正在解决自动构建脚本的问题,请按照下面的步骤操作。
编译依赖项。
依赖关系很少更新,因此它们是从 Prusaslicer 源树中编译出来的。转到 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 项目文件,引用预编译的依赖项。
转到 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_ 应用程序 _GUI 作为启动项目(右键单击-> 设置为启动项目)。
运行 Build->Rebuild Solution 一次以填充所有必需的依赖模块。当你构建/运行时,这不会自动完成。如果同时运行调试和发布变体,则需要对每个变体执行一次此操作。
调试-> 开始调试或按 F5
Prusaslicer 应该启动。你已经准备好了!
注:感谢 @douggorgen 的原始指南,作为一个问题的答案
以下信息已过时,但仍可供参考。
我们已经切换到 MS Visual Studio 2019。
我们不再使用 MSVS 2013. 目前,我们正在创建新的预构建依赖包并更新此文档。在此期间,你需要自己和以前一样。编译依赖项,除非使用 MSVS 2019(而不是 2013)的 CMake 生成器。
谢谢你的理解。
在 Microsoft Windows 上构建 Prusaslicer
~~ 目前支持在 Windows 上构建 Prusaslicer 的方法是使用 CMake 和 MS Visual Studio 2013. 你可以使用免费Visual Studio 2013 社区版的。cmake 安装程序可从官方网站下载。~~
~~ 根据我们的一些用户的报告,使用较新版本的 MSVS(2015,2017)进行构建可能也会起作用。~~
注意:感谢@ 卓越(SuperMerill)对本指南的测试和启发。
依赖关系
在 Windows 上,Prusaslicer 是针对静态构建的库构建的。~~ 我们提供了一个包含所有所需依赖项的预建包。此软件包仅适用于 Visual Studio 2013,因此 ~~ 如果你使用的是较新版本的 Visual Studio,则需要根据below自行编译依赖项。该软件包有几种变体:
64 位,仅发行模式(41 MB,578 MB 未压缩)
64 位,发布与调试模式(88 MB,1.3 GB 未打包)
32 位,仅发行模式(38 MB,520 MB 未压缩)
32 位,发布与调试模式(74 MB,1.1 GB 未打包)
当不确定时,使用仅释放模式变量,发布和调试变量仅用于调试和开发。
如果你不确定在哪里打开包装,请将其 C:\local\
打开(但它实际上可以在任何地方)。
或者,你也可以自己编译依赖项,请参阅下文。
使用 Visual Studio 生成 Prusaslicer
首先,通过 Git 或提取源代码存档来获取 Prusaslicer 源代码。
然后,你需要记下依赖关系的所谓“前缀路径”,这是依赖关系包 + \usr\local
附加的位置。例如,在 64 位上,这将是 C:\local\destdir-64\usr\local
。需要将前缀路径传递给 cmake.
准备就绪后,打开相关的 Visual Studio 命令行并 cd
进入包含 Prusaslicer 源代码的目录。使用以下命令准备 Visual Studio 解决方案文件:
mkdir build cd build cmake .. -G "Visual Studio 12 Win64" -DCMAKE_PREFIX_PATH=""
请注意,如果你正在构建 32 位变体,则需要将 "Visual Studio 12 Win64"
更改为 "Visual Studio 12"
。
相反,如果你使用的是 2013 以外的 Visual Studio 版本,则需要相应地更改版本号。
如果 cmake
已完成且没有错误,请转到生成目录并在 Visual Studio 中打开 PrusaSlicer.sln
解决方案文件。在构建之前,请确保你构建的是正确的项目(使用以 PrusaSlicer_app_...
开头的项目之一),并且你构建的是正确的配置,即释放vs调试。当不确定时,选择释放。请注意,你将无法针对释放只有-的依赖包构建调试变体。
使用 INSTALL
项目安装
Prusaslicer 可以从 Visual Studio 或 Visual Studio 的构建目录( src\Release
或 src\Debug
)运行,但对于长期使用,你可能希望使用 INSTALL
项目安装在某个位置。默认情况下,这将安装到 C:\Program Files\PrusaSlicer
。要自定义安装路径, -DCMAKE_INSTALL_PREFIX=<path of your choice>
请在调用 cmake
时使用。
从命令行生成
有几个选项可用于从命令行进行构建:
msbuild
Ninja
nmake
若要使用 MSBuild 生成,请使用与上一段中相同的 cmake 命令,然后使用
msbuild /m /P:Configuration=Release ALL_BUILD.vcxproj
要使用 ninja 或 NMAKE 进行构建,请将 cmake 调用中的选项分别替换 -G
为 -G Ninja
或 -G "NMake Makefiles"
。然后使用 ninja
或 nmake
开始构建。
要安装,请使用 msbuild/P:Configuration=Release INSTALL.vcxproj
、 ninja install
或 nmake install
。
自己构建依赖关系包
依赖关系包是在 Prusaslicer 源代码的子目录中 deps
使用 cmake 脚本构建的。(这有意不与其他源代码中的 cmake 脚本互连。)
打开首选的 Visual Studio 命令行(64 位或 32 位变体),并 cd
进入包含 Prusaslicer 源代码的目录。然后 cd
进入 deps
目录并使用以下命令进行构建:
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
目录放置在离驱动器根目录相对较近的位置。
请注意,在构建依赖包时,你可以使用 Visual Studio(即释放或调试等)选择的构建变量是不相关。默认情况下,无论你在 Visual Studio 中选择什么,依赖项生成都将生成两者都__释放和调试变体。你可以通过传递
-DDEP_DEBUG=OFF
cmake 的选项,这只会产生一个释放构建。
请参阅目录中 deps
的 cmake 脚本,以查看在哪些版本中构建了哪些依赖项,以及如何完成此操作。
*)具体来说,在构建 Boost 时会出现问题。Boost 构建工具将所有构建选项附加到中间文件的路径中,这些路径不能由 b2.exe
或可能 ninja
由(?)正确处理。
标签: