当前位置: 资讯 >

全球快看点丨PrusaSlicer 在Windows进行编译和开发

来源:哔哩哔哩 发表日期:2023-06-23 13:50:48

一步一步 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\Releasesrc\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"。然后使用 ninjanmake开始构建。

要安装,请使用 msbuild/P:Configuration=Release INSTALL.vcxprojninja installnmake 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由(?)正确处理。

x
推荐阅读 更多