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 的时候发现每运行一次应用占据的内存就多一点,后来意识到是内存泄漏了.这个真是头疼 ...
随机推荐
- AlphaGo的前世今生(二)AlphaGo: Countdown to AI Revolution
这是本专题的第二节,在这一节我们将以David Silver等人的Natrue论文Mastering the game of Go with deep neural networks and tree ...
- [转] ADO.NET调用存储过程带输出参数或返回值
CREATE PROCEDURE [dbo].[GetNameById] @studentid varchar(), @studentname nvarchar() OUTPUT AS BEGIN S ...
- Git安装配置,和使用的简介
方案1:安装Git和TortoiseGit,使用TortoiseGit的图形化界面管理项目代码 材料准备: Git安装包 TortoiseGit安装包 注:包资源,可疑百度搜索,在Git官网下载 安装 ...
- python 并发编程 操作系统 进程 并发.并行 及 同步/异步,阻塞/非阻塞
操作系统: 多道技术背景: 提高工作效率(充分利用IO阻塞的时间) 同时执行多个任务 多道技术 空间复用:充分的利用内存空间 时间复用:充分利用IO阻塞时间 分时系统: 并发:提高了程序的工作效率 两 ...
- step_by_step_用python爬点磁力链接
爬点东西 -Scrapy 今天是小年,团聚的日子,想想这一年中发生过大大小小的事,十分感慨. 言归正传: 吐槽了一些话,没事的时候一个单身老男人就只能上上网打发打发时间,后来我发现一个网站比较好,但是 ...
- 20. Valid Parentheses (JAVA)
Given a string containing just the characters '(', ')', '{', '}', '[' and ']', determine if the inpu ...
- php tp3.2生成二维码
public function qrcode() { // 二维码链接 $href = 'http://' . $_SERVER['HTTP_HOST'] . '/?g=diapp&m=reg ...
- django xadmin查找当前用户所在组
self.request.user:获取当前登录用户用户名 qs = Group.objects.get(user=self.request.user)获取当前登录用户所在组qs.name 获取当前登 ...
- Google弃用HttpClient 而推荐使用HttpURLConnection的原因
因为兼容性问题,谷歌不愿意维护HttpClient,而使用HttpURLConnection HttpURLConnection的API包小而简便,更适合安卓 HttpURLConnection能够提 ...
- jQuery on() 方法 为选定已存在元素和未来元素绑定标准事件和自定义事件
很有必要说说jQuery的on方法,这个方法存在大乾坤大奥秘,主要注意两点: 1.为已存在元素和未来元素(动态添加元素)绑定处理函数. 2.自定义一个非标准的事件并绑定处理函数. 定义和用法 on() ...