我想知道如何在当前的开发版本中从源代码构建Unity。请涵盖以下主题:
- 编译Unity需要哪些软件包? - 我应该从哪里获取当前的源代码? - 实际配置和编译Unity的步骤是什么? - 是否可以安全地与存储库中的版本同时运行最新版本?
- 编译Unity需要哪些软件包? - 我应该从哪里获取当前的源代码? - 实际配置和编译Unity的步骤是什么? - 是否可以安全地与存储库中的版本同时运行最新版本?
在本指南中,您将构建一个独立的Unity主干版本(安装在您的主目录下),因此您不必担心损坏Ubuntu软件仓库中的版本,而且在整个过程中也不需要获取root权限(除非安装构建依赖项)。
0. 安装构建依赖项
您需要运行以下命令一次性安装所有必要的构建依赖项:
sudo apt-get install bzr cmake compiz-dev gnome-common libbamf3-dev libboost-dev \
libboost-serialization-dev libgconf2-dev libgdu-dev libglewmx1.6-dev \
libgnome-desktop-3-dev libibus-1.0-dev libindicator3-dev libjson-glib-dev \
libnotify-dev libnux-2.0-dev libpci-dev libsigc++-2.0-dev libunity-dev \
libunity-misc-dev libutouch-geis-dev libxxf86vm-dev libzeitgeist-dev xsltproc
deb-src
),您可以使用以下方法:sudo apt-get build-dep unity
SOURCE
和PREFIX
替换为您想要源代码和构建文件存放的目录。在这个例子中,我把它们都放在我的主目录下:export SOURCE=$HOME/source/unity
export PREFIX=$HOME/build/unity
export PKG_CONFIG_PATH="$PREFIX/lib/pkgconfig:$PKG_CONFIG_PATH"
export LD_LIBRARY_PATH="$PREFIX/lib:$LD_LIBRARY_PATH"
export LD_RUN_PATH="$PREFIX/lib:$LD_RUN_PATH"
export XDG_DATA_DIRS="$PREFIX/share:$XDG_DATA_DIRS"
mkdir -p "$PREFIX"
mkdir -p "$SOURCE"
cd "$SOURCE"
bzr branch lp:nux
cd nux
./autogen.sh --disable-examples --disable-gputests --disable-tests --prefix="$PREFIX"
make -j4
make install
cd ..
提示:大多数现代台式机和笔记本电脑都有多个核心。您可以通过利用这一点来大大加快编译速度。make
命令内置支持此功能,您可以使用-jN开关来激活,其中N是要并行运行的作业数量。一个很好的经验法则是在处理器上运行2倍的核心数量。因此,在普通双核计算机上,您应该运行make -j4
以最小化编译时间。
3. 构建Unity
现在获取最新的Unity代码并进行构建:
bzr branch lp:unity
cd unity
mkdir build
cd build
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCOMPIZ_PLUGIN_INSTALL_TYPE=local -DGSETTINGS_LOCALINSTALL=ON -DCMAKE_INSTALL_PREFIX="$PREFIX"
make -j4
make install
setsid $PREFIX/bin/unity
4. 更新
请确保按照第一步中描述的方式准备环境,然后直接进入顶层目录nux
和unity
,运行bzr pull
,重新构建并重新安装。
我建议在unity
目录中删除并重新创建build
目录,以确保没有旧文件干扰您的构建。
5. 移除Unity
删除三个目录$SOURCE
、$PREFIX
和~/.compiz-1
。
有用的链接:
https://github.com/bitshifter/Unity-Build/raw/master/build-unity.sh
有时为了测试的目的,在您的主目录中构建Unity和nux是很有用的,这样您就可以尝试查看是否在主干中修复了某些问题,而不必费心处理软件包和/或PPA。我向Jason Smith(Unity开发人员)询问了他如何构建Unity,他向我解释了他的方法:
确保您拥有此答案中的所有构建依赖项。unity
中找到。使用apt-get source unity
安装源代码,使用sudo apt-get build-dep unity
安装构建所需的依赖项,然后开始进行修改。这里有一份出色的官方文档 - 开发Unity。
以下是其中关于构建Unity的摘录 - 从源代码安装和编译。
建立统一 这些说明将帮助您从源代码构建统一。然而,有几个要考虑的事项:
sharedptr
,但似乎12.04上的gcc不支持,或者需要在make文件中添加一些标志。因此,克隆适合我的系统的确切版本非常重要。 - Muhammad Hewedy