简介
CuraEngine是用于3D打印GCode生成的C ++控制台应用程序。
下载
因为CuraEngine是开源的软件,所以还是选择github下载,这是我下载4.9版本的链接https://github.com/Ultimaker/CuraEngine/tree/4.9,
准备
我们需要使用cmake生成适合vs的工程文件
代码准备
上面我们下载的代码解压好之后,咋代码目录同级新建一个build和一个install目录。
配置cmake
配置好代码的目录和build的目录,点击configure,配置好然后点击finish。
有错误,但是不要慌,因为我们还没开始配置,ok跳过。
点击advanced,可以看到protobuf的配置项,然后根据自己的protobuf路径填写全部路径。
填完之后是这样的
再次点击configure,仍然有一条红色的。这里是需要配置arcus。
设置arcus的make路径
设置protoc.exe的路径
然后再设置Stb_INCLUDE_DIRS,这个库是用来处理图片的,有些版本的引擎里面有,但是不知道哪个版本之后就没有了,这个代码也是一个开源的代码,直接下载代码放到build的目录就可以了。
stb代码路径https://github.com/nothings/stb,
可以看到configure之后在这个目录下什么代码都没有,把下载的stb源码解压后拷贝到这个目录下面。
拷贝之后是这样自的
然后配置Stb_INCLUDE_DIRS
然后再次configure,这次应该是没有什么错误了,然而还是会有一些warning,不用管,直接generate。
generate之后,在build目录下就会生成工程文件了
编译
用vs打开工程文件,直接进行编译,选择all_build,进行编译。
如果编译出现error LNK2001: unresolved external symbol “class google::protobuf::internal::ExplicitlyConstructed<class std::basic_string<char,struct std::char_traits,class std::allocator > > google::protobuf::internal::fixed_address_empty_string” 这样类似找不到protobuf的变量的错误,只需要在工程添加一个宏定义。PROTOBUF_USE_DLLS,如下图。
再次编译我们就完成引擎的编译了。
我们把libprotobuf.dll ,Arcus.dll,CuraEngine.exe拷贝到一起,我们的引擎就可以运行了。