Difference between revisions of "Installation"
Gongminmin (Talk | contribs) |
Gongminmin (Talk | contribs) |
||
(3 intermediate revisions by one user not shown) | |||
Line 1: | Line 1: | ||
== General == | == General == | ||
− | Before compiling [[KlayGE/en|KlayGE]], Python 2.7+ and CMake | + | Before compiling [[KlayGE/en|KlayGE]], Python 2.7+ and CMake 3.4+ must be installed first. Then you can run build_external.py to build and install [[Third-party libraries and tools|third-party libraries and tools]]. [[KlayGE/en|KlayGE]] has been tested on these [[Compilers tested|compilers]]. |
Since [[KlayGE/en|KlayGE]] 3.12.0, include and lib paths are set up inside the project files. After extraction, just open the corresponding project file under "Build" directory, [[KlayGE/en|KlayGE]] itself can be built directly. Or you can run build_all.py to do that job. | Since [[KlayGE/en|KlayGE]] 3.12.0, include and lib paths are set up inside the project files. After extraction, just open the corresponding project file under "Build" directory, [[KlayGE/en|KlayGE]] itself can be built directly. Or you can run build_all.py to do that job. | ||
Line 27: | Line 27: | ||
== OSX platform == | == OSX platform == | ||
+ | |||
+ | If you don't have brew.sh installed, run | ||
+ | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" | ||
Wine must be installed on OSX, too. | Wine must be installed on OSX, too. | ||
− | brew install | + | brew cask install xquartz |
− | + | brew install wine --without-win64 | |
− | + | ||
− | + | ||
== See Also == | == See Also == |
Latest revision as of 00:22, 4 January 2017
General
Before compiling KlayGE, Python 2.7+ and CMake 3.4+ must be installed first. Then you can run build_external.py to build and install third-party libraries and tools. KlayGE has been tested on these compilers.
Since KlayGE 3.12.0, include and lib paths are set up inside the project files. After extraction, just open the corresponding project file under "Build" directory, KlayGE itself can be built directly. Or you can run build_all.py to do that job.
Since KlayGE 4.1.0, project files are migrated to cmake. Several on-stop compiling scripts written in Python is also included. The build_glloader.py is used for compiling glloader; the build_kfont.py for kfont; the build_KlayGE.py for KlayGE, Samples, Tools and Tutorials. The build_all.py can build all of them. Those .py have two optional parameters. The first one is compiler name, the second one is configuration name. For example, "build_all.py vc10 x64" means uses vc10's x64 configuration for compiling. Currently, compiler names such as vc8, vc9, vc10, vc11, vc12, mingw and gcc are supported. Configuration names such as x86, x64, x86_app, and arm_app are supported. If no parameter in the command line, default parameters inside cfg_build.py will be used.
Since KlayGE 4.4.0, 3rd party libraries uses cmake as project files. You only need to run build_external.py to finish the build, not native project files provided by 3rd party libraries themselves.
Since KlayGE 4.5.0, Android and WinRT version can be build with the same cmake, too. Before that, you need a Windows version of tools. They are used in the process of building Android and WinRT version.
During the compilation, if the vc said couldn't find v110_xp toolset, please install Visual Studio 2012 Update or up.
Notes for MinGW users:
There are some incompatibilities between new versions of the Windows SDK/DirectX SDK and MinGW. When compiling the DirectSound plug-in, and the compiler will report sal.h cannot be found. VC's "sal.h" needs to be copied to "MinGW/include". Then open "MinGW/lib/gcc/mingw32/4.4.1/include/stddef.h", replace "#define NULL __null" by "#define NULL 0". Otherwise, sal.h will define __null to some other token incorrectly.
Linux platform
Take Ubuntu as an example here. You need to install wine and its dependencies.
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
Once you have wine installed, you also have to make it into 32-bit mode. Because 64-bit wine doesn't work at all.
export WINEARCH=win32 winetricks
OSX platform
If you don't have brew.sh installed, run
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Wine must be installed on OSX, too.
brew cask install xquartz brew install wine --without-win64