安装

From KlayGE
Revision as of 00:23, 4 January 2017 by Gongminmin (Talk | contribs)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

通用

在编译KlayGE之前,必须先安装Python 2.7+和CMake 3.4+。然后就可以执行build_external.py来编译和安装第三方库和工具KlayGE在这些编译器上通过了测试。

KlayGE 3.12.0开始,工程文件里都设置好了include和lib路径,解压后打开Build目录下的相应工程文件就可以直接编译KlayGE本身。或者执行build_all.py编译KlayGE例子程序工具集

KlayGE 4.1.0开始,工程文件改用cmake,并且包含有几个python的一站式编译脚本。build_glloader.py用来编译glloader,build_kfont.py用来编译kfont,build_KlayGE.py用来编译KlayGE例子程序工具集教程。build_all.py则可以编译上述所有的东西。这几个.py都有两个可选的命令行参数,第一个表示编译器名,第二个表示配置名。比如:"build_all.py vc10 x64"表示用vc10的x64配置来编译。目前支持的编译器名有vc8、vc9、vc10、vc11、vc12、mingw和gcc,支持的配置名有x86、x64、x86_app和arm_app。如果不带参数,那么就会选用存在cfg_build.py中的默认参数。

KlayGE 4.4.0开始,第三方库也都采用cmake作工程文件。只需要执行build_external.py就可以完成编译,不需要用到第三方库本身提供的工程文件。

KlayGE 4.5.0开始,Android和WinRT版本也采用同样的cmake作工程文件。需要先编译出Windows版的工具集,才能正常编译Android和WinRT版本。具体参见构建Android版本的方法

编译中如果提示v110_xp工具集找不到,请安装Visual Studio 2012 Update(目前的版本是Update 4)。

在Win8之前的系统上使用VS2012的用户请注意

如果安装了DX SDK,VS2012的include/lib目录可能会包含DX SDK的include/lib,这会和VS2012自带的Windows SDK冲突。表现是找不到D3D_FEATURE_LEVEL_11_1等。解决方法是把include/lib目录设置里的DX SDK相关目录去掉。

MinGW用户请注意

由于新版本Windows SDK,DirectX SDK和MinGW存在一些不兼容,在默认情况下编译DSound插件的时候,编译器会报告找不到sal.h。这时候需要把VC的sal.h拷到MinGW/include下。然后打开MinGW/lib/gcc/mingw32/4.4.1/include/stddef.h,找到"#define NULL __null",改成"#define NULL 0"。因为sal.h会把__null定义成别的东西。

Linux平台

这里以Ubuntu为例。需要安装wine和相关依赖库。

sudo apt-get install wine wine-dev libc6-dev-i386 g++-4.8-multilib libx11-dev libgl1-mesa-dev libglu1-mesa-dev libopenal-dev build-essential

有了wine之后,还需要强制wine进入32位模式,因为64位的wine基本没法工作。

export WINEARCH=win32
winetricks

OSX平台

如果没有安装brew.sh,就先运行

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

OSX也需要先安装wine。

brew cask install xquartz
brew install wine --without-win64

参见

平台

OpenGLES插件的配置方法