自從2.5.0開始,wxWidgets既可以編譯成單一的代碼庫(這種編譯方式被稱爲:monolithic),或者編譯爲一些多個小的代碼庫(這種編譯方式被稱爲multilib),Multilib是默認的編譯方式。
wxWidgets被劃分成多個代碼庫的形式,簡要概述如下,這張圖標展示了他們之間的依賴關係:
wxAui
它包含了高級的用戶界面庫,如控件停靠等。
wxBase
每一個wxWidgets應用程序必須連接這個代碼庫。他包含了wxWidgets依賴的最基礎的代碼庫(如: wxString),也包含了在多個平臺之間可移植的抽象定義。wxBase可以被用來開發控制檯程序,它並不依賴任何GUI庫,也不需要在UNIX平臺上運行X-Window系統。
wxNet
網絡訪問控制:
- wxSocket 類(wxSocketClient, wxSocketServer and 相關類)
- wxSocketOutputStream 和 wxSocketInputStream
- 基於Sockets的IPC類(wxTCPServer, wxTCPClient和wxTCPConnection)
- wxURL
- wxInternetFSHandler (一個wxFileSystem輔助類)
- 依賴wxBase.
wxRichText
他包含了通用的RichText控件和相關功能。
wxXML
它包含解析XML文檔的一些簡單類。需要注意的是,這些API接口在將來會被改變,並且也不會提供向後兼容性。所以不推薦在你的程序中使用這些類,它僅僅被XML resources system使用。WxWidgets將來的版本會包含新的DOM-like API 的XML處理類。
信賴於wxBase.
wxCore
基礎的GUI類庫,如GDI類和控件庫。 所有的wxWidgets GUI應用程序都需要連接此類庫,除非控制檯程序。
wxAdvanced
高級GUI控件庫:
依賴於wxCore和wxBase.
wxMedia
和多媒體有關係的一些類。當前,這個類庫中只包含wxMediaCtrl,但是在將來會加進更多的類。
依賴wxCore和wxBase.
wxGL
這個類庫包含用戶整合 OpenGL 和 wxWidgets的wxGLCanvas類。與其他的類庫包不同,這個類庫不能作爲單一代碼包的一部分。它總是被單獨編譯。
依賴wxCore 和 wxBase.
wxHTML
它包含一個簡單的HTML展示器和一些HTML呈現類。如wxHtmlHelpController, wxBestHelpController 和 wxHtmlListBox.
依賴於 wxCore 和 wxBase.
wxODBC
關於數據庫的一些類。
依賴 wxBase.
wxQA
依賴於 wxCore, wxBase 和 wxXML.
wxDbGrid
wxDbGridTableBase類是wxGrid 和 wxDbTable的功能組合類.
依賴於 wxODBC 和 wxAdvanced.
wxXRC
依賴於 wxXML, wxCore, wxAdvanced 和 wxHTML.
附原文:
wxWidgets Libraries list
Starting from version 2.5.0 wxWidgets can be built either as a single large library (this is called the
monolithic build) or as several smaller libraries (multilib build). Multilib build is the default.
wxWidgets library is divided into libraries briefly described below. This diagram show dependencies between them:
wxAui
This contains the Advanced User Interface docking library.
wxBase
Every wxWidgets application must link against this library. It contains mandatory classes that any wxWidgets code depends on (e.g.
wxString) and portability classes that abstract differences between platforms. wxBase can be used to develop console mode applications, it does not require any GUI libraries or running X Window System on Unix.
wxNet
Classes for network access:
wxRichText
This contains generic rich text control functionality.
wxXML
This library contains simple classes for parsing XML documents. Note that their API
will change in the future and backward compatibility will not be preserved. Use of this library in your applications is not recommended, it is only meant for use by XML resources system. Future versions of wxWidgets will contain new XML handling classes
with DOM-like API. Requires wxBase.
wxCore
Basic GUI classes such as GDI classes or controls are in this library. All wxWidgets GUI applications must link against this library, only console mode applications don't.
wxAdvanced
Advanced or rarely used GUI classes:
Requires wxCore and wxBase.
wxMedia
Miscellaneous classes related to multimedia. Currently this library only contains
wxMediaCtrl but more classes will be added in the future.
Requires wxCore and wxBase.
wxGL
This library contains
wxGLCanvas class for integrating OpenGL library with wxWidgets. Unlike all others, this library is
not part of the monolithic library, it is always built as separate library. Requires wxCore and wxBase.
wxHTML
wxODBC
wxQA
This is the library containing extra classes for quality assurance. Currently it only contains
wxDebugReport and related classes, but more will be added to it in the future.
Requires wxCore, wxBase and wxXML.
wxDbGrid
wxXRC
This library contains
wxXmlResource class that provides access to XML resource files in XRC format. Requires wxXML, wxCore, wxAdvanced and wxHTML.
~~The END~~
尹曙光