Windows下 编译Blender2.6

编译方法参考官方教程:http://wiki.blender.org/index.php/Dev:Doc/Building_Blender/Windows php

本次编译的环境和准备的软件以下:
Windows 7 64bit
VS2008 SP1(注意,必须是VS2008,其余版本没法编译,由于官方依赖库好比boost是vc90的)
Tortoise SVN
CMake( 请下载64bit版本的,不能用32位的)
请记住咱们全部的软件和配置都应该是64位的
c++

1. 使用Tortoise SVN下载代码和依赖库。 shell

在D盘根目录建立目录BlenderSVN,而后下载代码:
缓存

cd D:\BlenderSVN
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/blender blender


由于是编译64位的Blender,因此使用以下命令下载依赖库:
svn checkout https://svn.blender.org/svnroot/bf-blender/trunk/lib/win64 lib/win64

由于依赖库很是大,有2.8G,因此下载起来很长时间。下载事后的目录必须是这样的:
    BlenderSVN
    ----blender
    ----lib
    -------win64
2. 使用CMake生成工程文件。
打开CMake,设置Source Code目录:BlenderSVN/blender,设置binaries目录:BlenderSVN/binary。点击Configure,选择咱们的目标编译器:Visual Studio 9 2008 Win64. 若是没有错误,就能够点击Generate生成工程文件。 app

3.打开生成的工程文件,启动编译,便可。最后运行INSTALL这个项目。 ide

遇到的问题:
a.第2步的时候,Configure时遇到:
 The C compiler identification is unknown 
 The CXX compiler identification is unknown.
即便咱们选择了VS9 2008 Win64,也可能会出现没法识别编译器的状况。这个的出现,通常是由于CMake会在TEMP目录下缓存之前的配置,解决办法是:结束MSBuild32.exe进程,而且删除TMP和TEMP这两个环境变量,重启CMake,再File->Delete Cache删除Cmake的缓存,从新configure。 svn

b.编译时遇到Can't open include file <unordered_map>.须要配置包含目录:
右击extern_ceres->属性->c/c++->附加包含目录,添加两条:
D:\BlenderSVN\lib\Win64\boost\include\boost
D:\BlenderSVN\lib\Win64\boost\include\
而且,将出现错误包含的地方的代码由: 工具

#    include <unordered_map>
#    include <unordered_set>

改成: ui

#    include <tr1/unordered_map.hpp>
#    include <tr1/unordered_set.hpp>



c.编译时遇到isspace not a member of std
直接在出错的地方,删除std::便可,即把std::isspace改成 isspace


d.编译的时候,出现:error MSB8014: Execution path (C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\bin\x86_amd64) could not be found.
这个事因为64bit的VS编译工具默认没有安装。解决办法控制面板->程序和功能->VS2008->卸载/更改->添加删除功能->VisualC++,点击X64编译器和工具,而后更新便可。
参考:
http://stackoverflow.com/questions/5901286/unable-to-build-c-cli-app-using-vs-2010-net-3-5-and-64-bit
spa


若是遇到其余错误,则多是目录的结构不对,或者是软件不是64bit版本,请注意检查。

相关文章
相关标签/搜索