Maine

纵有疾风起,人生不言弃

在 MacOS 下编译 Blender

首先,编译 Blender 需要 MacOS 10.9 以及以上系统,我用的是 10.14。

以下内容翻译自 Blender 官方 wiki 以及自己编译中的总结。

步骤简要

  1. 安装Xcode开发工具(我用的是10.1)
  2. 安装CMake
  3. 从Git下载源代码
  4. 从Subversion下载外部库
  5. 可选:安装CUDA Toolkit 9
  6. 使用make来构建Blender
  7. 可选:使用CMake生成Xcode项目。

安装Xcode开发工具

从Mac App Store下载适用于你的系统的最新Xcode软件包(免费)。

安装CMake

这里推荐使用 Homebrew 安装,超级方便,没有用过的看《Homebrew 简介和基本使用》

brew cask install cmake

注意 cask,没有 cask 则不会安装 GUI 版本的 cmake

下载源代码和库

安装好 XCode 和 CMake 之后,我们就可以从 Blender.org 的 Git 仓库中获取最新的Blender源代码。将将以下说明复制并粘贴到终端中运行。
这些将在你的主目录下创建一个blender-build文件夹,并下载最新的源代码,以及插件和外部库。

mkdir ~/blender-build
 cd ~/blender-build 
git clone http://git.blender.org/blender.git cd blender 
make update

在执行make update的时候,会自动从 svn 上下载预编译库,最终会保存到与 blender 目录同级的 lib目录下。

我在下载预编译库的时候遇见了这样的提示:

Certificate information:

 \- Hostname: svn.blender.org

 \- Valid: from Nov 10 22:00:31 2018 GMT until Feb  8 22:00:31 2019 GMT

 \- Issuer: Let's Encrypt Authority X3, Let's Encrypt, US

 \- Fingerprint: EF:86:93:33:11:15:08:F2:DA:D2:0B:23:BA:32:0B:E1:44:BC:21:7B

(R)eject, accept (t)emporarily or accept (p)ermanently?

这是因为我们默认访问的是有 ssl 加密的 svn 地址,我选择了(t),临时接受。也可以选择(p)永远接受。

如果遇见:

svn: E120171: ra_serf: An error occurred during SSL communication

多试几次就好了。
最后贴一下预编译库的 svn 下载地址,也可以自己用 svn 下载:

https://svn.blender.org/svnroot/bf-blender/trunk/lib/darwin/

编译

最简单,最快速的解决方案是使用默认设置构建Blender,在终端中运行:

cd ~/blender-build/blender
make

顺带说一下,可以为 make 命令指定 -j 编译参数,指定多核编译。比如:make -j8 指定 8 核心编译。

如果编译失败,有时会删除 ~/blender-build/build_darwin 文件夹重新编译。

更新

cd ~/blender-build/blender
make update
make

创建 XCode 工程

创建 XCode 工程见《MacOS 下创建 Blender 的 XCode 项目》

报错记录

我在编译的时候遇见错误:

xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
xcode-select: error: tool 'xcodebuild' requires Xcode, but active developer directory '/Library/Developer/CommandLineTools' is a command line tools instance
CMake Error at build_files/cmake/platform/platform_apple_xcode.cmake:76 (string):
  string begin index: 6 is out of range 0 - 0
Call Stack (most recent call first):
  CMakeLists.txt:616 (include)


-- Detected OS X  and Xcode  at /Library/Developer/CommandLineTools
CMake Error at build_files/cmake/platform/platform_apple_xcode.cmake:82 (if):
  if given arguments:

    "VERSION_LESS" "4.3"

  Unknown arguments specified
Call Stack (most recent call first):
  CMakeLists.txt:616 (include)


-- Configuring incomplete, errors occurred!
See also "/Users/maine/Code/blender-dev/build_darwin/CMakeFiles/CMakeOutput.log".
make: *** [all] Error 1

解决办法:

sudo xcode-select --switch /Applications/Xcode.app/Contents/Developer/

另外,看到 github 上有人报错:

error:
'tbb/tbb.h' file not found
#include <tbb/tbb.h>

需要安装 tbb 库解决。

brew install tbb
点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注