Difference between revisions of "安装"

From KlayGE
Jump to: navigation, search
m
 
(13 intermediate revisions by 2 users not shown)
Line 1: Line 1:
在编译[[KlayGE]]之前,需要先执行build_external.py来编译和安装[[第三方库和工具]]。
+
== 通用 ==
 +
 
 +
在编译[[KlayGE]]之前,必须先安装Python 2.7+和CMake 3.4+。然后就可以执行build_external.py来编译和安装[[第三方库和工具]]。[[KlayGE]]在这些[[经过测试的编译器|编译器]]上通过了测试。
  
 
从[[KlayGE]] 3.12.0开始,工程文件里都设置好了include和lib路径,解压后打开Build目录下的相应工程文件就可以直接编译[[KlayGE]]本身。或者执行build_all.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和mingw,支持的配置名有x86、x64、x86_app和arm_app。也可以通过修改cfg_build.py再更改默认配置。
+
从[[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(目前的版本是[http://www.microsoft.com/en-us/download/details.aspx?id=39305 Update 4])。
  
 
'''在Win8之前的系统上使用VS2012的用户请注意'''
 
'''在Win8之前的系统上使用VS2012的用户请注意'''
Line 12: Line 20:
  
 
由于新版本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定义成别的东西。
 
由于新版本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插件的配置方法]]
  
 
[[en:Installation]]
 
[[en:Installation]]
 
[[ru:Установка]]
 
[[ru:Установка]]

Latest revision as of 00:23, 4 January 2017

通用

在编译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插件的配置方法