Difference between revisions of "第三方库和工具"

From KlayGE
Jump to: navigation, search
 
(3 intermediate revisions by one user not shown)
Line 1: Line 1:
 
[[KlayGE]]的代码依赖于以下的第三方库和工具。从KlayGE 3.12开始,除了OpenGL ES的SDK,其他库和工具的代码将都包含在KlayGE中。用户可以通过调用build_external.py来编译和安装它们。当然,在执行编译脚本前需要事先安装[http://www.python.org/ Python] 2.7+和[http://www.cmake.org/ CMake] 3.4+。
 
[[KlayGE]]的代码依赖于以下的第三方库和工具。从KlayGE 3.12开始,除了OpenGL ES的SDK,其他库和工具的代码将都包含在KlayGE中。用户可以通过调用build_external.py来编译和安装它们。当然,在执行编译脚本前需要事先安装[http://www.python.org/ Python] 2.7+和[http://www.cmake.org/ CMake] 3.4+。
 
== Core需要:==
 
*[http://www.boost.org/ Boost] 1.66.0。其中只有一部分被[[使用到的boost库|使用到]]。
 
*[http://rapidxml.sourceforge.net/ RapidXml] 1.13。
 
*[http://www.7-zip.org/ 7-zip] 9.20。
 
 
== D3D11 Rendering System和DSound Audio System需要:==
 
*[https://github.com/gongminmin/UniversalDXSDK Universal DX SDK]
 
 
== DShow Show System需要:==
 
*Visual Studio 2017附带的Microsoft Windows SDK 10.0,或
 
*Visual Studio 2015附带的Microsoft Windows SDK 10.0,或
 
*Visual Studio 2013附带的Microsoft Windows SDK 8.1
 
 
== OggVorbis Audio Datasource需要:==
 
*[http://xiph.org/downloads/ libogg] 1.3.2和[http://xiph.org/downloads/ libvorbis] 1.3.5,需要把它们编译成static库。
 
 
== OpenAL Audio System需要:==
 
*[http://www.openal.org/downloads.html OpenAL SDK] 1.1。
 
 
== OpenGL Rendering System需要:==
 
*[https://github.com/gongminmin/UniversalDXSDK Universal DX SDK]
 
 
== OpenGL ES Rendering System需要:==
 
*[https://github.com/gongminmin/UniversalDXSDK Universal DX SDK]
 
*[http://code.google.com/p/angleproject/ Google ANGLE] 或
 
*[http://developer.nvidia.com/tegra-resources-archive NVIDIA x86 Windows OpenGL ES 2.0 Emulator] 或
 
*[http://www.imgtec.com/powervr/insider/sdk/KhronosOpenGLES2xSGX.asp PowerVR Insider SDK] v2.9 或
 
*[http://www.malideveloper.com/tools/software-development/opengl-es-20-emulator.php ARM Mali OpenGL ES 2.0 Emulator] v1.3
 
 
== Python Script System需要:==
 
*[http://www.python.org/ Python] 3.5.1。
 
 
== Test需要:==
 
*[https://github.com/google/googletest Google Test] 1.8.0。
 
 
== KFontGen工具需要:==
 
*[http://freetype.sourceforge.net/ FreeType] 2.8.1。
 
 
 
= 注意事项 =
 
 
由于[[KlayGE]]在VC下使用的运行库是多线程的DLL,所以需要把所有连接到exe的lib的运行库改为多线程DLL(Project->Properties->Configuration Properties->C/C++->Code Generation->Runtime Library,选择Multi-threaded Debug DLL/Multi-threaded DLL)。
 
 
  
 
= 列表 =
 
= 列表 =
这里External目录下包含库的完整列表。
+
这是4.15版中External目录下包含库的完整列表。
  
 
{| class="wikitable"
 
{| class="wikitable"
 
|-
 
|-
! 名字 !! 版本 !! 精简过 !! 打过补丁 !! 提供了CMake !! 需要编译
+
! 名字 !! 版本 !! 提供了CMake !! 需要编译
 
|-
 
|-
| [http://7-zip.org 7z] || 18.05 || 是 || 是,修改过 || 否 || 是
+
| [http://7-zip.org 7z] || {{No}}Forked git(修正了UWP和Android的编译问题) || 否 || 是
 
|-
 
|-
| [https://developer.android.com/ndk/downloads/index.html android_native_app_glue] || 12C || 否 || 是,修改过 || 否 || 否
+
| [https://developer.android.com/ndk/downloads/index.html android_native_app_glue] || {{No}}修正过的16B || 否 || 否
 
|-
 
|-
| [https://github.com/assimp/assimp assimp] || 4.0.1 || 是 || 是 || 是 || 是
+
| [https://github.com/assimp/assimp assimp] || git || 是 || 是
 
|-
 
|-
| [http://www.boost.org/ boost] || 1.66.0 || 是 || 是 || 是,但没用到 || 是
+
| [http://www.boost.org/ boost] || 精简的1.70.0,[[使用到的boost库|只用到了一部分]] || 是,但没用到 || 是
 
|-
 
|-
| [http://freeimage.sourceforge.net/ FreeImage] || 3.17.0 || 是 || 是 || 否 || 是
+
| [https://github.com/jarro2783/cxxopts cxxopts] || git ||是 || 否
 
|-
 
|-
| [https://www.freetype.org/ freetype] || 2.8.1 || 是 || 否 || ||
+
| d3dcompiler || N/A || No || No
 
|-
 
|-
| [https://github.com/google/googletest googletest] || 1.8.0 || 否 || 否 || 是 || 是
+
| [https://github.com/gongminmin/FreeImage FreeImage] || {{No}}Forked git(修正了C++17、MinGW和ARM上的编译问题) || 否 || 是
 
|-
 
|-
| [https://github.com/xiph/ogg libogg] || 1.3.3 || 是 || 否 || 是 || 是
+
| [https://www.freetype.org/ freetype] || git || 是 || 是
 
|-
 
|-
| [https://github.com/xiph/vorbis libvorbis] || 1.3.6 || 是 || 是 || 是 || 是
+
| [https://github.com/google/googletest googletest] || git || 是 || 是
 
|-
 
|-
| [https://github.com/memononen/nanosvg nanosvg] || N/A || 否 || 否 || ||
+
| [https://github.com/xiph/ogg libogg] || git || ||
 
|-
 
|-
| [http://www.openal.org/ OpenALSDK] || 1.1 || 否 || 否 || ||
+
| [https://github.com/xiph/vorbis libvorbis] || git || ||
 
|-
 
|-
| [https://www.python.org/ Python] || 3.5.1 || 是 || 是 || 否 || 是
+
| [https://github.com/memononen/nanosvg nanosvg] || git || || 否
 
|-
 
|-
| [https://github.com/python-cmake-buildsystem/python-cmake-buildsystem python-cmake-buildsystem] || N/A || 是 || 是 || 是 || 是
+
| [https://github.com/kcat/openal-soft openal-soft] || git || 是 || 是
 
|-
 
|-
| [http://rapidxml.sourceforge.net/ rapidxml] || 1.13 || 否 || 是 || 否 || 否
+
| [https://github.com/python/cpython Python] || {{No}}Forked git(修正了UWP和MinGW的编译问题) || 否 || 是
 
|-
 
|-
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || N/A || 否 || 否 || ||
+
| [https://github.com/python-cmake-buildsystem/python-cmake-buildsystem python-cmake-buildsystem] || {{No}}Forked git(修正了Android、iOS、Python 3.7和MinGW的编译问题) || ||
 
|-
 
|-
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || 2.8 || || 是 || ||
+
| [https://github.com/Tencent/rapidjson rapidjson] || git || 是 || 否
 +
|-
 +
| [https://github.com/valnoel/rapidxml rapidxml] || git || 否 || 否
 +
|-
 +
| [https://github.com/gongminmin/UniversalDXSDK UniversalDXSDK] || 否 || 否
 +
|-
 +
| [https://github.com/xceedsoftware/wpftoolkit wpftoolkit] || {{No}}Forked git (修改了输出目录结构) || || 是
 +
|-
 +
| [https://github.com/madler/zlib zlib] || git || Yes || Yes
 
|}
 
|}
 +
 +
除此之外,你还需要安装一个OpenGL ES SDK才能编译glloader_es和OpenGLES渲染系统。推荐使用[http://code.google.com/p/angleproject/ Google ANGLE]。
  
 
[[en:Third-party libraries and tools]]
 
[[en:Third-party libraries and tools]]
 
[[ru:Сторонние библиотеки и инструменты]]
 
[[ru:Сторонние библиотеки и инструменты]]

Latest revision as of 01:28, 26 July 2019

KlayGE的代码依赖于以下的第三方库和工具。从KlayGE 3.12开始,除了OpenGL ES的SDK,其他库和工具的代码将都包含在KlayGE中。用户可以通过调用build_external.py来编译和安装它们。当然,在执行编译脚本前需要事先安装Python 2.7+和CMake 3.4+。

列表

这是4.15版中External目录下包含库的完整列表。

名字 版本 提供了CMake 需要编译
7z Forked git(修正了UWP和Android的编译问题)
android_native_app_glue 修正过的16B
assimp git
boost 精简的1.70.0,只用到了一部分 是,但没用到
cxxopts git
d3dcompiler N/A No No
FreeImage Forked git(修正了C++17、MinGW和ARM上的编译问题)
freetype git
googletest git
libogg git
libvorbis git
nanosvg git
openal-soft git
Python Forked git(修正了UWP和MinGW的编译问题)
python-cmake-buildsystem Forked git(修正了Android、iOS、Python 3.7和MinGW的编译问题)
rapidjson git
rapidxml git
UniversalDXSDK
wpftoolkit Forked git (修改了输出目录结构)
zlib git Yes Yes

除此之外,你还需要安装一个OpenGL ES SDK才能编译glloader_es和OpenGLES渲染系统。推荐使用Google ANGLE