Build Slic3r on Windows // 如何在Windows上编译Slic3r

下载Strawberry Perl 5.22 64bit绿色版,解压缩到某个地方,比如C盘根目录,比如

C:\strawbrry-perl-5.22.2.1-64bit-portable

下载Boost 1.59,解压缩到某处,比如

C:\boost_1_59_0

注意,下载的Strawberry Perl内有个portable.bat,可以设置好Perl运行环境,而且那个Perl附带了gcc 4.9。下面所有的命令都在这个命令行环境下执行。

在那个命令提示符内切换到Boost的解压缩目录,输入

bootstrap.bat mingw

b2 toolset=gcc link=static runtime-link=static threading=multi --with-thread stage

注意这里只编译boost.thread库,末了在stage目录下会看到生成的静态库,包括thread、system等等依赖库。

下载Slic3r的源代码,放在一个地方,比如

C:\Slic3r-repo

打开xs/Build.PL文件,看到第41行

for my $path (glob('C:\dev\boost*'), glob ('C:\boost*'))

可以直接把第二个改成我们的Boost路径C:\boost_1_59_0

for my $path (glob('C:\dev\boost*'), glob ('C:\boost_1_59_0*'))

然后输入

perl Build.PL

开始编译。

如果没问题,下面开始GUI。

由于Strawberry Perl附带的GCC 4.9生成C++异常代码方面存在BUG,所以Wx有个单元测试一定过不去,卡在那个跳窗口的地方,而且会不停的继续尝试而且不停的出错。所以我们不能用从Slic3r的Build.PL开始编译,必须用Perl安装包管理程序cpanm来安装依赖。

直接输入

cpanm --force Alien::wxWidgets

cpanm --force Wx

等待之后,如果没有错误,则再来输入perl Build.PL --gui安装剩下的依赖,然后应该大功告成。

用PP打包就很简单了,自己可以尝试官方的说明自己做。

你可能感兴趣的:(Build Slic3r on Windows // 如何在Windows上编译Slic3r)