Windows下 编译Blender2.6

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

本次编译的环境和准备的软件如下:
Windows 7 64bit
VS2008 SP1(注意,必须是VS2008,其他版本无法编译,因为官方依赖库比如boost是vc90的)
Tortoise SVN
CMake( 请下载64bit版本的,不能用32位的)
请记住我们所有的软件和配置都应该是64位的

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

在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生成工程文件。

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

遇到的问题:
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。

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>

改为:

#    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


如果遇到其他错误,则可能是目录的结构不对,或者是软件不是64bit版本,请注意检查。




转载于:https://my.oschina.net/superpdm/blog/208565

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值