Win7 VS2017编译Blender2.79
去年在VS2013环境编译过一次,重装系统后换了VS2017,正好刚编译完Godot3.0.2,顺手把Blender也编译了吧。
官方Windows下编译指南
https://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Windows
所需工具
Git for Windows
TortoiseSvn
CMake
首先用Git Clone Blender的源码,可能需要梯子工具,反正我用了,因为最近Clone Gayhub有第三方依赖库引用,不用梯子好像都失败了,我也不知道blender这个到底用不用,为了减少麻烦,直接用吧
git clone git://git.blender.org/blender.git cd blender git submodule update --init --recursive git submodule foreach git checkout master git submodule foreach git pull --rebase origin master
源码Clone完大概占678MB
Clone完blender源码,最好马上打包一份,以防以后没梯子时想用不好搞,毕竟体积不算小了,下载挺花时间的。
总之对我这种N线小破城市来说,速度的确不怎么友好,大城市的朋友请无视。
然后SVN下载预编译的第三方库文件,无需梯子
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64_vc14 lib/win64_vc14
实际上装完TortoiseSvn,直接有右键,选SVN Checkout
写上路径就行了,要注意的一点是目录
blender
lib
要同级目录
所以,我直接在blender目录同级新建lib,再建立win64_vc14
变成
lib/win64_vc14
然后直接图形界面下载
https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64_vc14
就行了
完成后大概有6.66GB,不确定是不是编译完之前的,总之大概4-6G的样子,只要TortoiseSvn中完成就行了
最后命令行再进入blender目录,注意要求cmake在Path环境变量中
make full nobuild 2017
之后就会在blender同级目录下生成
build_windows_Full_x64_vc15_Release
的VS2017工程了

打开Blender.sln,Debug下编译,经过慢长的等待
全部成功
F5调试,说找不到python36_d.dll
从
lib\win64_vc14\python\lib\python36_d.dll
复制一份到
build_windows_Full_x64_vc15_Release\bin\Debug
目录下
再次运行说还少OpenAL什么的,这时想到,应该是还要用到blender资源文件的一些东西,
所以直接就去下载一份Latest Builds
https://builder.blender.org/download/
写本文时,我用的是
Official New Compiler
blender-2.79-5389964-win64-vc14.zip
解压后,把所有dll和2.79资源目录一起复制到
build_windows_Full_x64_vc15_Release\bin\Debug
再次F5成功了
然后在blender项目源码里,creator.c的
int main函数上下断点,F5再跑,成功断下,F10步过,等操作,F5继续运行,都OK。

2018.05.05补张代码结构图
https://www.blender.org/bf/codelayout.jpg

Win7 VS2017编译Blender2.79的更多相关文章
- Win7 VS2017编译Audacity2.1.3
最近比较热衷折腾大型开源软件编译,因为在逐渐用开源软件替换盗版软件,除去盗版用着不安全的原因外,主要还是因为开源软件有源码,可以学习研究,另外就是体积小. 像Matlab每次装完都用不上什么功能,体积 ...
- Win7 VS2017编译PBR渲染引擎google filament
按照官方说明 https://github.com/google/filament 前置工具包 Windows 10 SDKVisual Studio 2017Clang 6Python 3.7Git ...
- Win7 VS2017编译bgfx图形API
官方的编译指南在这个页面 https://bkaradzic.github.io/bgfx/build.html#quick-start 目前的版本编译比较简单,下载3个项目,放于同级目录下 http ...
- Win7 VS2017编译magnum及例子
magnum是一个开源的图形中间件 Lightweight and modular C++11/C++14 graphics middleware for games and data visuali ...
- Win7 VS2017编译Godot3.0.2和2.1.4
千呼万唤屎出来,Godot终于发布3.0版本的源码了,今天是2018年3月17日,自去年接触过后,一直没事就刷刷Gayhub,看看3.0什么时候更新,刷了一年也没结果. 今天上Youtube无意中搜了 ...
- windows 平台使用 VS2017 编译openssl源码
windows 平台使用 VS2017 编译openssl源码 1)依赖安装 安装 perl 脚本解释器 下载 http://libevent.net/download 安装 nasm 汇编器 C:\ ...
- 32位win7+vs2008编译mysql 5.6.22源码并安装
以下这部分安装说明是来自http://www.2cto.com/database/201407/316681.html的win7+vs2010源码编译mysql,文章最后会说明用vs2008编译遇见的 ...
- windows 平台使用 VS2017 编译 libevent 源码
一 依赖库编译 先要将其依赖的库编译好,其中openssl需要编译到libevent中,编译成libevent_openssl.lib库,zlib在新版本中只有示例用到. 1)windows 平台使用 ...
- VS2017 编译 Visual Leak Detector + VLD 使用示例
起因 一个Qt5+VS2017的工程,需要进行串口操作,在自动时发现一段时间软件崩溃了,没有保存log,在 debug 的时候发现每运行一次应用占据的内存就多一点,后来意识到是内存泄漏了.这个真是头疼 ...
随机推荐
- 算法之Python实现 - 000
Python的火热已极,几乎人人在学Python,为了节约时间,也为了实现Python的代码量,计划从今天开始,将<算法与数据结构题目最优解>一书中的代码全部用Python实现.
- javascript正则表达式分组捕获理解
我们先来看一段js代码: var rquickExpr = /^(?:(<[\w\W]+>)[^>]*|#([\w-]*))$/; console.log(rquickExpr.ex ...
- HTML的基础样式之CSS
一.初始CSS 1.1.介绍CSS 1.CSS定义如何显示HTML元素. 2.当浏览器读到一个样式表,他就会按照这个样式表来对文档进行格式化(渲染). 1.2.CSS语法 每个CSS样式由两个组成部分 ...
- hibernate的开始
1.1对象的持久化 对象持久化是指将内存中的对象保存到可永久保存的存储设备中(如磁盘)的一种技术.(hibernate是通过id来管理对象) 1.2怎样实现持久化 1 对象序列化 2 JDBC 3 O ...
- 基于DPDK的高效包处理系统
一.概念 Intel® DPDK全称Intel Data Plane Development Kit,是intel提供的数据平面开发工具集,为Intel architecture(IA)处理器架构下用 ...
- oracle数据库查询语句case的用法
实现功能: 1.先查询status=2的记录,如果查询到记录则返回第一条记录的Product_Name:2.如果查询不到status=2的记录,则判断status=1的记录是否存在,不存在则返回“请耐 ...
- python标准库之operator(运算符模块)
operator模块提供了一系列与Python自带操作一样有效的函数.例如:operator.add(x, y)和表达式x+y是等效的.那些特殊类的方法都有自己的函数名:为了方便起见,一些函数名是没有 ...
- 【Spring】SpringMVCの環境構築(簡)(Version3.1)
■Mavenでプロジェクトの新規 ■プロジェクトのイメージ ■必要なラブリア ■ソース ①pom.xml <?xml version="1.0" encoding=" ...
- Vue随笔记录
一.创建Vue步骤(VS Code) 1.全局安装 npm install -g vue-cli 2.新建项目 vue init webpack "project-n ...
- mysql数据库优化之 如何选择合适的列建立索引
1. 在where 从句,group by 从句,order by 从句,on 从句中出现的列: 2. 索引字段越小越好: 3. 离散度大的列放到联合索引的前面:比如: select * from p ...