参考官方文档

https://github.com/Ultimaker/Cura/wiki/Running-Cura-from-Source-on-Windows#python-3810

注意

这些说明理所当然地认为用户使用的是 Windows 版本 >= 1809(即 OS Build 17763)的 Windows 10 机器。为了检查您的 Windows 版本,您可以单击“开始”并编写winver并按下Enter或使用 powershell,您可以输入:

PS > [ System.Environment ]::OSVersion.Version

主要次要构建修订
----- ----- ----- --------
10 0 17763 0

本指南已在 20H2 Windows 版本(即 OS Build 19042)上测试和执行。请注意,本指南考虑1809 之前的 Windows 10 版本或 Windows 7、8 或 8.1 等 Windows 操作系统。

替代方法

在我们开始本指南之前,我们应该提到“官方”,Cura 是这样构建的:

  • cura-build-environment仓库进行了克隆,其所有项目(即所有Cura依赖像Python,QT,PyQt的,SIP等)都可使用一个CMake脚本被搭建。
  • 构建依赖项后,会克隆cura-build存储库,以便安装 Cura、CuraEngine、Uranium、libCharon、fdm_materials 和 cura-binary-data。

因此,此时您可以选择是否要遵循“官方”路径来解决每个用户/操作系统安装可能带来的所有问题,或者您可以继续执行以下步骤并手动安装依赖项。如果您选择前一个选项,请参阅相应的存储库以查看安装每个存储库所需的实际步骤。

Microsoft Visual Studio

要在 Windows 上编译库,需要 Microsoft Visual Studio C++。支持 Microsoft Visual Studio 2015 和 2019。

Microsoft Visual Studio 2019

(推荐安装)

  1. 此处下载 Microsoft Visual Studio 2019 (Web 安装程序)。免费版是社区版。
  2. 运行网络安装程序。下载所需的一切需要一些时间。
  3. 当安装程序加载时,检查Desktop development with C++Windows。也选择MSVC v140 - VS 2015 C++ build tools (v14.00)Installation details。完整的安装将很大(> 6 GB)并且需要一段时间才能完成。
  4. 在以下步骤中构建文件(使用 cmake 或 nmake)时,请务必使用 'x64 Native Tools Command Prompt for VS 2019'。这可确保使用 Visual Studio 2019 构建工具。

Microsoft Visual Studio 2015

(用于早期版本,仍然有效)

  1. 此处(Web 安装程序)此处(ISO 映像)下载 Microsoft Visual Studio 。
  2. 运行安装程序。为了节省空间,可以只Visual C++在编程语言中选择自定义。完整的安装将很大(> 12 GB)并且需要一段时间才能完成。

CMake

  1. 此处下载 Windows 版 CMake“win64-x64” 。
  2. 运行安装程序。
  3. 选择 PATH 选项时,选择Add CMake to system PATH for all usersAdd CMake to the system PATH for the current user。允许cmake从命令行运行命令。
  4. 通过打开命令窗口并键入cmake --version来验证 CMake 的安装。

MinGW-w64

如果您正在构建 CuraEngine,则需要 MinGW-w64。如果仅编译库,则可以跳过此步骤。

  1. 从[这里](https://sourceforge.net/projects/mingw-w64/files/Toolchains targetting Win32/Personal Builds/mingw-builds/installer/mingw-w64-install.exe/download)下载 mingw-w64 安装程序(不是 zip)。
  2. 运行安装程序。架构应该改为,x86_64线程架构应该是posix(pthread)。
  3. 将 MinGW 添加到包含bin目录的 PATH 环境(例如,C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin)。
  4. 通过打开终端并输入“mingw32-make”来检查是否可以找到 mingw32-make。它应该提示' No targets specified and no makefile found. Stop. '

Git(可选)

建议使用 Git 来使用命令行克隆其他存储库。Git 不是必需的,因为所有文件都可以下载存储库。

  1. 这里下载适用于 Windows 的 Git 。
  2. 运行安装程序。选择Git from command line and also from 3rd-party software(默认)或Use Git and optional Unix tools from the Command Prompt在该Adjusting your PATH environment部分中选择。
  3. 通过打开命令窗口并键入git --version来验证 git 的安装。

Python 3.8.10

  1. 这里(3.8.10)下载python 3.8.X。

  2. 在使用Install Nowor之前Customize installation,请检查Add Python 3.8 to PATH它是否可以在命令行中引用。

  3. 通过打开命令窗口并键入python --version. 还pip3可以通过键入python -m pip --version. 如果它们中的任何一个都不起作用,请确保 WindowsPATH变量包含 Python 的根目录(如%localappdata%/Programs/Python/Python38/)和Scripts文件夹(如%localappdata%/Programs/Python/Python38/Scripts)。

  4. 此处下载 Numpy 库,使用MKL适用于您的 Python 版本 (3.8) 的版本并使用 64 位安装版本进行 64 位安装。它可以pip3 install [WHL FILE]在命令行中使用安装。

  5. 此处下载 Shapely 库,选择cp38‑cp38m‑win32.whl(适用于 32 位安装的版本)和cp38‑cp38m‑win_amd64.whl(适用于 64 位安装的版本),它可以在命令行中使用pip3 install [WHL FILE]安装。

  6. 使用以下命令安装其他所需的库:

    python -m pip install scipy cryptography colorlog netifaces zeroconf trimesh sentry_sdk pyserial PyQt5==5.15.2 keyring requests pywin32

    注意:

    特别需要 PyQt5 版本 5.15.2。


编译库

编译库需要使用随 Microsoft Visual Studio 一起安装的“x64 Native Tools Command Prompt for VS 2019”。这允许使用该nmake命令。由于编译某些库需要引用其他库,因此这些步骤将使用一个C:/dev目录。只要在运行命令时进行了更改,就可以使用任何目录。

Protobuf

  1. 这里下载 Protobuf 3.15.7 。

  2. 将其解压缩到,C:/dev以便您拥有一个C:/dev/protobuf-3.15.7目录。

  3. 导航到protobuf-3.15.7目录:

    cd C:/dev/protobuf-3.15.7
  4. 创建构建和安装目录。

    mkdir install_dir
    mkdir cmake_build && cd cmake_build
  5. 构建并安装 Protobuf:

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_INSTALL_LIBDIR=lib -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ../cmake
    nmake
    nmake install

SIP

  1. 这里下载 SIP 4.19.24 。

  2. 将其解压缩到C:/dev以便创建一个C:/dev/sip-4.19.24目录。版本的最后一部分应该从名称中删除。

  3. 导航到 sip-4.19.24目录:

    cd C:/dev/sip-4.19.24
  4. 构建并安装 SIP(再次确保使用 Visual Studio 提供的命令提示符):

    python configure.py
    nmake
    nmake install

Arcus

  1. 克隆libArcus存储库:

    git clone -b "build_from_source_windows" https://github.com/Ultimaker/libArcus.git C:\dev\libArcus
  2. 导航到libArcus目录:

    cd C:\dev\libArcus
  3. 创建构建目录:

    mkdir install_dir
    mkdir build && cd build
  4. 为 Protobuf 设置环境变量:

    set PROTOBUF_SRC=C:\dev\protobuf-3.15.7
    set PROTOBUF_INSTALL=%PROTOBUF_SRC%\install_dir
  5. 构建和安装libArcus(再次确保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DPROTOBUF_SRC_ROOT_FOLDER=%PROTOBUF_SRC% -DPROTOBUF_LIBRARY=%PROTOBUF_INSTALL%/lib/libprotobuf.lib  -DPROTOBUF_INCLUDE_DIR=%PROTOBUF_INSTALL%/include -DPROTOBUF_PROTOC_EXECUTABLE=%PROTOBUF_INSTALL%/bin/protoc.exe -DBUILD_EXAMPLES=OFF -DBUILD_STATIC=ON -DMSVC_STATIC_RUNTIME=ON -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install

Savitar

  1. 克隆libSavitar存储库:

    git clone https://github.com/Ultimaker/libSavitar.git C:\dev\libSavitar
  2. 导航到libSavitar目录:

    cd C:\dev\libSavitar
  3. 创建构建和安装目录:

    mkdir install_dir
    mkdir build && cd build
  4. 构建和安装libSavitar(再次确保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DBUILD_STATIC=ON -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install

Charon

  1. 克隆libCharon存储库:

    git clone https://github.com/Ultimaker/libCharon.git C:\dev\libCharon
  2. 导航到libCharon目录:

    cd C:\dev\libCharon
  3. 创建构建和安装目录:

    mkdir install_dir
    mkdir build && cd build
  4. 构建和安装libCharon(再次确保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install

Pynest2D

  1. 克隆 Ultimakerlibnest2d存储库:

    git clone https://github.com/Ultimaker/libnest2d.git C:\dev\libnest2d
  2. 导航到libnest2d目录:

    cd C:\dev\libnest2d
  3. 创建构建和安装目录:

    mkdir install_dir
    mkdir build && cd build
  4. (可选)如果您的系统中已经有 boost,请确保在构建 libnest2D 时它不会出现:

    set BOOST_ROOT=
  5. 构建并安装 libnest2d,指示它也下载并构建其依赖项(-DRP_ENABLE_DOWNLOADING=ON):

    cmake .. -DLIBNEST2D_HEADER_ONLY=OFF -DRP_ENABLE_DOWNLOADING=ON -DCMAKE_INSTALL_PREFIX=..\install_dir
    cmake --build . --target install

    注意:如果您不希望 libnest2d 自动下载并安装必要的依赖项(boost、NLopt、Clipper),则删除该标志-DRP_ENABLE_DOWNLOADING=ON并确保您的系统中安装了这些依赖项

  6. 克隆pynest2d存储库:

    git clone https://github.com/Ultimaker/pynest2d.git C:\dev\pynest2d
  7. 导航到pynest2d目录:

    cd C:\dev\pynest2d
  8. 创建构建和安装目录:

    mkdir install_dir
    mkdir build && cd build
  9. 设置所需的环境变量:

    set CLIPPER_PATH=C:\dev\libnest2d\build\dependencies
    set NLopt_PATH=C:\dev\libnest2d\build\dependencies
    set BOOST_ROOT=C:\dev\libnest2d\build\dependencies

    注意:如果您没有使用 libnest2d 下载这些依赖项,请在您的系统中设置正确的路径

  10. 构建和安装pynest2d(再次确保使用 Visual Studio 提供的命令提示符):

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DLIBNEST2D_INCLUDE_DIRS=C:\dev\libnest2d\install_dir\include -DCMAKE_BUILD_TYPE=Release -G "NMake Makefiles" ..
    nmake
    nmake install

Uranium

Uranium (UM)是必需的库,但不需要编译。

  1. 克隆Uranium存储库:

    git clone https://github.com/Ultimaker/Uranium.git C:\dev\Uranium
  2. Uranium目录添加到您的PYTHONPATH环境变量中。即使PYTHONPATH没有设置,也可以使用以下命令完成:

    set PYTHONPATH=%PYTHONPATH%;C:\dev\Uranium

如果您决定添加UM到主Python的安装,当Cura库被克隆时,需要将pluginsresources目录分别复制到C:\dev\Cura\pluginsC:\dev\Cura\resources目录。

CuraEngine

注意:某些库将再次构建。这是有意为之,因为我们需要引擎的 mingw(我们需要 sip 依赖项的 nmake!)。

  1. 这里下载 Protobuf 3.15.7 。

  2. C:\dev使用-mingw后缀将其解压缩,以便创建一个C:/dev/protobuf-3.15.7-mingw目录。

  3. 导航到·protobuf-3.15.7-mingw·目录:

    cd C:\dev\protobuf-3.15.7-mingw
  4. 创建构建和安装目录。

    mkdir install_dir
    mkdir cmake_build && cd cmake_build
  5. 构建并安装 Protobuf:

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_PREFIX_PATH=../install_dir -DCMAKE_INSTALL_LIBDIR=lib -Dprotobuf_BUILD_TESTS=OFF -DCMAKE_CXX_FLAGS="-std=c++11" -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" ../cmake
    mingw32-make
    mingw32-make install
  6. 使用-mingw后缀克隆libArcus存储库:

    $ git clone https://github.com/Ultimaker/libArcus.git C:\dev\libArcus-mingw
  7. 导航到libArcus-mingw目录:

    cd C:\dev\libArcus-mingw
  8. 创建构建目录:

    mkdir install_dir
    mkdir build && cd build
  9. 为 Protobuf 设置环境变量:

    set PROTOBUF_MINGW_SRC=C:/dev/protobuf-3.15.7-mingw
    set PROTOBUF_MINGW_INSTALL=%PROTOBUF_MINGW_SRC%/install_dir
  10. 构建和安装libArcus

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DPROTOBUF_SRC_ROOT_FOLDER=%PROTOBUF_MINGW_SRC% -DPROTOBUF_LIBRARY=%PROTOBUF_MINGW_INSTALL%/lib/libprotobuf.a -DPROTOBUF_INCLUDE_DIR=%PROTOBUF_MINGW_INSTALL%/include -DPROTOBUF_PROTOC_EXECUTABLE=%PROTOBUF_MINGW_INSTALL%/bin/protoc -DBUILD_EXAMPLES=OFF -DBUILD_STATIC=ON -DBUILD_PYTHON=OFF -DCMAKE_BUILD_TYPE=Release -G "MinGW Makefiles" ..
    mingw32-make
    mingw32-make install
  11. 克隆CuraEngine存储库:

    git clone https://github.com/Ultimaker/CuraEngine.git C:\dev\CuraEngine
  12. 导航到CuraEngine目录:

    cd C:\dev\CuraEngine
  13. 创建构建和安装目录。

    mkdir install_dir
    mkdir cmake_build && cd cmake_build
  14. Arcus设置环境变量:

    set ARCUS_DIR=C:/dev/libArcus-mingw/install_dir/lib/cmake/Arcus
  15. 构建和安装CuraEngine

    cmake -DCMAKE_INSTALL_PREFIX=../install_dir -DCMAKE_BUILD_TYPE=Release -DArcus_DIR=%ARCUS_DIR% -DPROTOBUF_SRC_ROOT_FOLDER=%PROTOBUF_MINGW_SRC% -DPROTOBUF_LIBRARY=%PROTOBUF_MINGW_INSTALL%/lib/libprotobuf.a -DProtobuf_INCLUDE_DIR=%PROTOBUF_MINGW_INSTALL%/include -DPROTOBUF_PROTOC_EXECUTABLE=%PROTOBUF_MINGW_INSTALL%/bin/protoc.exe -DPROTOC=%PROTOBUF_MINGW_INSTALL%/bin/protoc.exe -G "MinGW Makefiles" ..
    mingw32-make
    mingw32-make install

Cura

  1. 克隆Cura存储库:

    git clone https://github.com/Ultimaker/Cura.git C:\dev\Cura
  2. 克隆 fdm_materialsCura/resources/materials目录:

    git clone https://github.com/Ultimaker/fdm_materials.git C:\dev\Cura\resources\materials
  3. 导航到Cura目录:

    cd C:\dev\Cura
  4. 添加CuraEngine可执行文件:

    copy "C:\dev\CuraEngine\install_dir\bin\CuraEngine.exe" CuraEngine.exe
  5. 运行Cura

    python cura_app.py

Windows10运行Cura源代码,搭建环境教程的更多相关文章

  1. Redis高可用集群-哨兵模式(Redis-Sentinel)搭建配置教程【Windows环境】

    No cross,no crown . 不经历风雨,怎么见彩虹. Redis哨兵模式,用现在流行的话可以说就是一个"哨兵机器人",给"哨兵机器人"进行相应的配置 ...

  2. Mac下搭建php开发环境教程

    方案一:原生安装 这篇文章主要介绍了Mac下搭建php开发环境教程,Mac OS X 内置了Apache 和 PHP,这样使用起来非常方便.本文以Mac OS X 10.6.3为例,需要的朋友可以参考 ...

  3. pyqt开发教程-搭建环境和开发示例

    搭建环境和开发示例 * 安装 安装包 要对应python的版本 32位安装包(我PC上) http://jaist.dl.sourceforge.net/project/pyqt/PyQt4/PyQt ...

  4. ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版

    原文:ActiveReports 9实战教程(1): 手把手搭建环境Visual Studio 2013 社区版 ActiveReports 9刚刚发布3天,微软就发布了 Visual Studio ...

  5. 混合式app ionic2.x 手动搭建开发环境教程分享(nodejs,jdk,ant,androidsdk)

    1.ionic简介 为什么选用ionic: 彻底开源且免费 性能优异 基于红的发紫的AngularJs 漂亮的UI 强大的命令行(基于更热门的nodejs) 开发团队非常活跃 ngCordova,将主 ...

  6. win/mac平台搭建ionic开发环境教程(转)

    出处:http://www.ionic-china.com/doc/ionic-winmac.html#preface 前言 ionic中文网为大家准备了绿色版的nodejs和androidSDK以及 ...

  7. [Laravel] mac下通过 homestead 搭建环境 到运行项目

    seven_Android 关注 2017.07.03 21:33* 字数 2240 阅读 3464评论 10喜欢 9 之前学习过一段时间的 Laravel ,换 mac 后一直没空做相关的事情,而且 ...

  8. Xamarin 跨移动端开发系列(01) -- 搭建环境、编译、调试、部署、运行

    如果是.NET开发人员,想学习手机应用开发(Android和iOS),Xamarin 无疑是最好的选择,编写一次,即可发布到Android和iOS平台,真是利器中的利器啊!好了,废话不多说,就开始吧, ...

  9. kakfa源代码开发环境搭建过程中的错误处理

    在window上搭建kafka的源代码开发环境,主要参考如下的blog: http://www.bubuko.com/infodetail-695974.html    << Window ...

随机推荐

  1. Java 位运算总结

    一.Java中支持的位运算 位与(&):二元运算符,两个为1时结果为1,否则为0 位或(|):二元运算符,两个其中有一个为1时结果就为1,否则为0 位异或(^):二元运算符,两个数同时为1或0 ...

  2. Spring Boot对Spring Data JPA的支持

    前两篇介绍了Spring Data JPA的基本使用,本篇介绍Spring Boot 对JPA的支持.如下: 1)导入坐标 2)注解配置 其他配置同Spring Data JPA应用之常规CRUD操作 ...

  3. MyBatis功能点二:从责任链设计模式的角度理解插件实现技术

    MyBatis允许对其四大组件(Executor,StatementHandler,ParameterHandler, ResultSetHandler)进行增强处理.在创建四大组件对象的时候 1.每 ...

  4. IDEA 端口占用,启动失败,提示Web server failed to start. Port 8080 was already in use.

    问题描述: 使用IDEA开发Spring Boot项目,今天启动提示端口占用,导致启动失败!(我昨天也是用的这个端口,可以正常启动) *************************** APPLI ...

  5. shell切割nginx日志

    用linux自带的计划任务切割nginx日志,每天0点执行 #!/bin/bash #GuoYabin nginxpid=`/bin/ps aux|grep nginx |awk /master/'{ ...

  6. Android SugarORM(3)

    Android Sugar ORM (3) Android Sugar ORM 查询 我们在此之前介绍了一些关于Sugar ORM的简单操作, 现在我们就查询来具体说一下 Sugar ORM中的fin ...

  7. 基于node的tcp客户端和服务端的简单通信

    1.简单介绍下TCP/IP TCP/IP是互联网相关协议的集合,分为以下四层:应用层.传输层.网络层.数据链路层. 分成四层的好处是,假如只有一层,某个地方需要改变设计时,就必须把所有整体替换掉,而分 ...

  8. 【外企测试面试、笔试】分享下历时8轮、30k+的外企面试全过程

    外企福利 薪酬体系完善(期权.股票等),定期薪酬市场调研,紧跟一线互联网大厂 加班很少很少 年假多,15-20天 国外免费旅游.旅游金 免费培训英语(还可能出国培训) 定期技术交流 免费零食 定期团建 ...

  9. Internet/Custom路由配置——网络测试仪实操

    一.测试说明以及功能原理 本文主要介绍Internet/Custom路由配置方法以及实验: ◆作用:可以通过此功能模拟注入不同百分比掩码的路由 ◆特点:只针对路由协议(目前RIP协议不支持,因为RIP ...

  10. RESTful风格了解

    最近在学习springboot,一直听到一个词叫RESTful风格,今天找了一下书了解了一番.spring mvc除了支持json数据交互外,还支持RESTful风格 RESTful也称为REST(r ...