Difference between revisions of "安装"
Gongminmin (Talk | contribs) |
Gongminmin (Talk | contribs) |
||
(17 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | 在编译[[KlayGE]] | + | == 通用 == |
+ | |||
+ | 在编译[[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、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的用户请注意''' | ||
+ | |||
+ | 如果安装了DX SDK,VS2012的include/lib目录可能会包含DX SDK的include/lib,这会和VS2012自带的Windows SDK冲突。表现是找不到D3D_FEATURE_LEVEL_11_1等。解决方法是把include/lib目录设置里的DX SDK相关目录去掉。 | ||
'''MinGW用户请注意''' | '''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定义成别的东西。 | 由于新版本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:Установка]] |
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