PrusaSlicer 在Windows进行编译和开发

文章翻译自官方说明文档 How to build - Windows.md

一步一步 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 src
c:> cd src
c:\src> git clone https://github.com/prusa3d/PrusaSlicer.git

运行自动生成脚本

该脚本 build_win.bat 将自动查找默认的 Visual Studio 安装,设置生成环境,然后运行 CMake 和 MSBuild 以根据需要生成依赖项和应用程序。如果你希望手动执行这些步骤,可以跳到下一节中的手动构建说明。否则,只需运行以下命令即可使用默认配置进行所有操作:

c:\src>cd c:\src\PrusaSlicer
c:\src\PrusaSlicer>build_win.bat -d=..\PrusaSlicer-deps -r=console

构建脚本将运行一段时间(超过一个小时,具体取决于你的计算机),并自动执行以下步骤:

  1. 将 RELWithDebinfo c:\src\PrusaSlicer-deps 配置并构建deps为目标目录
  2. 全部应用目标配置和构建为 RelWithDebinfo
  3. 启动生成 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\deps
mkdir build
cd build
cmake .. -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 build
cd build
cmake .. -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="<insert prefix path here>"

请注意,如果你正在构建 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 生成,请使用与上一段中相同的 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 由(?)正确处理。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值