您好,登錄后才能下訂單哦!
這篇文章主要介紹了Linux怎么編譯qt的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇Linux怎么編譯qt文章都會有所收獲,下面我們一起來看看吧。
首先下載源碼包qt-everywhere-opensource-src-5.6.0.7z 然后解壓
7z x -o/home/o/qt-src/qt-opensource-src-5.6.0 qt-everywhere-opensource-src-5.6.0.7z cd /home/o/qt-src/qt-opensource-src-5.6.0
我這里解壓到/home/o/qt-src/qt-opensource-src-5.6.0中,解壓后進入這個目錄。
先使用./configure --help來看看都有哪些參數,這里就不貼命令輸出結果了,直接把選項都翻譯出來
選項 | 作用 |
---|---|
-prefix | 指定部署目錄(默認 /usr/local/Qt-5.6.0) |
-extprefix | 安裝目錄(默認 SYSROOT/PREFIX) |
-hostprefix [dir] | 運行在這個主機上的構建工具的安裝目錄,如果不給定,使用當前目錄. (默認 EXTPREFIX) |
你可以用這些來改變安裝的布局。請注意,所有目錄除sysconfdir外,其他的應位于-prefix/ hostprefix下
選項 | 作用 |
---|---|
-bindir | 用戶可執行文件將安裝到這個目錄(默認 PREFIX/bin) |
-headerdir | 頭文件安裝目錄(默認 PREFIX/include) |
-libdir | 庫文件安裝目錄(默認 PREFIX/lib) |
-archdatadir | QT相關的數據將被安裝到(默認 PREFIX) |
-plugindir | 插件安裝目錄(默認 ARCHDATADIR/plugins) |
-libexecdir | 程序的可執行文件安裝目錄(默認 ARCHDATADIR/libexec, ARCHDATADIR/bin for MinGW) |
-importdir | 導入QML1安裝目錄(默認 ARCHDATADIR/imports) |
-qmldir | 導入QML2安裝目錄(默認 ARCHDATADIR/qml) |
-datadir | QT獨立的數據安裝目錄(default PREFIX) |
-docdir | 文檔安裝目錄(default DATADIR/doc) |
-translationdir | Qt程序的翻譯數據安裝目錄(default DATADIR/translations) |
-sysconfdir | 設置使用QT程序的搜尋目錄(default PREFIX/etc/xdg) |
-examplesdir | 示例文件安裝目錄(default PREFIX/examples) |
-testsdir | 測試文件安裝目錄(default PREFIX/tests) |
-hostbindir | 主機可執行文件安裝目錄(default HOSTPREFIX/bin) |
-hostlibdir | 主機庫文件安裝目錄(default HOSTPREFIX/lib) |
-hostdatadir | qmake使用數據安裝目錄(default HOSTPREFIX) |
下表中第一列中的*表示默認并可行的。+表示默認,但需要進行評估(檢測),評估通過才可接受。
選項 | 作用 | |
---|---|---|
* | -release | 編譯和鏈接Qt的release版本 |
-debug | 編譯和鏈接debug版本 | |
-debug-and-release | 編譯和鏈接release和debug兩個版本(僅MAC) | |
-force-debug-info | 為release構建創建符號鏈接 | |
-developer-build | Qt開發者編譯和鏈接選項(包括自動測試/輸出) | |
* | -no-optimized-tools | 即使在調試版本中,也不構建優化的主機工具 |
-optimized-tools | 構建優化的主機工具,即使在調試版本 | |
-opensource | 編譯和鏈接Qt開源版本 | |
-commercial | 編譯和鏈接的Qt商業版 | |
-confirm-license | 自動確認許可證(使用開源或是商業) | |
-c++std | 編譯QT使用的C++標準 (c++98, c++11, c++14, c++1z) 默認: 最高支持版本 | |
* | -shared | 創建并使用Qt共享庫. |
-static | 創建并使用QT靜態庫 | |
-no-largefile | 禁用大文件支持 | |
+ | -largefile | 啟用QT訪問大于4 GB的文件功能 |
-no-accessibility | 不編譯的可訪問性支持 禁用訪問不推薦,它將破壞QStyle并且可能影響QT構建 這個選項啟用將創建一個源不兼容版本的QT,這是不支持 | |
+ | -accessibility | 編譯訪問支持. |
-no-sql- | 完全禁用SQL | |
-qt-sql- | 在 Qt SQL 模塊啟用SQL | |
-plugin-sql- | 啟用SQL | |
-system-sqlite | 利用操作系統SQLite | |
-no-qml-debug | 不構建在QML調試支持 | |
+ | -qml-debug | 構建QML調試支持 |
-platform target | 構建的目標操作系統和編譯器(默認檢測主機系統) 讀readme文件獲取支持的操作系統和編譯器列表 | |
-no-sse2 | 編譯不要使用SSE2指令 | |
-no-sse3 | 編譯不要使用SSE3指令 | |
-no-ssse3 | 編譯不要使用SSSE3指令 | |
-no-sse4.1 | 編譯不要使用SSE4.1指令 | |
-no-sse4.2 | 編譯不要使用SSE4.2指令 | |
-no-avx | 編譯不要使用AVX指令 | |
-no-avx2 | 編譯不要使用AVX2指令 | |
-no-mips_dsp | 編譯不要使用MIPS DSP指令 | |
-no-mips_dspr2 | 編譯不要使用MIPS DSP Rev2指令 | |
-qtnamespace | 把所有的Qt庫代碼放入namespace | |
-qtlibinfix | 重命名索引libQt*.so為libQt* | |
-testcocoon | Instrument Qt with the TestCocoon code coverage tool. | |
-gcov | Instrument Qt with the GCov code coverage tool. | |
-D | 顯示的添加一個宏定義到預處理器 | |
-I | 顯示的添加一個包含路徑 | |
-L | 顯示添加一個庫路徑 | |
+ | -pkg-config | 使用pkg-config檢測包括庫路徑。默認情況下,配置決定是否使用pkg-config或不具有啟發式如檢查環境變量。 |
-no-pkg-config | 禁用pkg-config支持 | |
-force-pkg-config | 強制使用pkg-config (跳過pkg-config可用性啟發式檢測). | |
-help, -h | 顯示幫助信息. |
選項 | 作用 | |
---|---|---|
-qt-zlib | 使用QT自帶zlib庫 | |
+ | -system-zlib | 使用操作系統自帶的zlib庫。 http://www.gzip.org/zlib |
-no-mtdev | 不要編譯mtdev支持 mtdev包含了應用程序對多點觸摸協議的支持 | |
+ | -mtdev | 啟用mtdev的支持. |
+ | -no-journald | 不要把日志輸出到journald. Journald是為Linux服務器打造的新系統日志方式 |
-journald | 日志輸出到journald | |
+ | -no-syslog | 不要輸出日志到syslog. |
-syslog | 輸出日志到syslog. | |
-no-gif | 不要編譯GIF讀取支持 | |
-no-libpng | 不要編譯PNG支持 | |
-qt-libpng | 使用Qt自帶的libpng | |
+ | -system-libpng | 使用操作系統自帶的libpng http://www.libpng.org/pub/png |
-no-libjpeg | 不要編譯JPEG支持. | |
-qt-libjpeg | 使用QT自帶的libjpeg. | |
+ | -system-libjpeg | 使用系統自帶的 libjpeg |
-no-freetype | 不要編譯Freetype2的支持. | |
-qt-freetype | 使用QT自帶的libfreetype. | |
+ | -system-freetype | 使用系統自帶的libfreetype(假如存在) (啟用,如果-fontconfig選項開啟). |
-no-harfbuzz | 不要編譯HarfBuzz-NG 支持. | |
* | -qt-harfbuzz | 使用QT自帶的HarfBuzz-NG 去進行文本構形. 仍然可以通過設置QT_HARFBUZZ 環境變量到”old”來禁用. |
-system-harfbuzz | 使用系統自帶的HarfBuzz-NG區進行文本構形.仍然可以通過設置QT_HARFBUZZ 環境變量到”old”來禁用 | |
-no-openssl | 不要編譯OpenSSL的支持 | |
-openssl | 啟用運行時OpenSSL支持. | |
-openssl-linked | 啟用并鏈接OpenSSL支持 | |
-no-libproxy | 不要編譯libproxy的支持 | |
+ | -libproxy | 使用操作系統自帶的libproxy. |
-qt-pcre | 使用QT自帶的PCRE library. | |
+ | -system-pcre | 使用操作系統自帶的PCRE library |
-qt-xcb | 使用QT自帶的xcb-libraries. (libxcb.so將仍然使用操作系統自帶的). | |
+ | -system-xcb | 使用操作吸引自帶的xcb- libraries . |
-xkb-config-root | 設置默認的XKB config root. 這個選項僅與-qt-xkbcommon-x11一起使用. | |
-qt-xkbcommon-x11 | 在構建xcb中使用QT自帶的xkbcommon library . | |
+ | -system-xkbcommon-x11 | 在構建xcb中使用操作系統自帶的 xkbcommon library. |
-no-xkbcommon-evdev | 當編譯libinput支持時,不使用X-less xkbcommon. | |
* | -xkbcommon-evdev | 當編譯libinput支持時,使用X-less xkbcommon. |
-no-xinput2 | 不要編譯XInput2的支持. | |
* | -xinput2 | 編譯XInput2支持. |
-no-xcb-xlib | 不要編譯Xcb-Xlib支持. | |
* | -xcb-xlib | 編譯 Xcb-Xlib支持. |
-no-glib | 不要編譯 Glib 支持. | |
+ | -glib | 編譯 Glib 支持. |
-no-pulseaudio | 不要編譯PulseAudio 支持. | |
+ | -pulseaudio | 編譯 PulseAudio 支持. |
-no-alsa | 不要編譯 ALSA 支持. | |
+ | -alsa | 編譯 ALSA 支持. |
-no-gtkstyle | 不要編譯GTK theme 支持. | |
+ | -gtkstyle | 編譯 GTK theme 支持. |
選項 | 作用 | |
---|---|---|
-make | 在make時添加要構建的組件. (默認為:libs tools examples | |
-nomake | 在構建時排除組件 | |
-skip | 排除整個模塊的建立 | |
-no-compile-examples | 僅安裝examples的源碼,不要編譯它. | |
-no-gui | 不要構建Qt GUI模塊和依賴. | |
+ | -gui | 構建Qt GUI 模塊和依賴. |
-no-widgets | 不要構建Qt Widgets 模塊和依賴. | |
+ | -widgets | 構建 Qt Widgets模塊和依賴 |
-R | 顯示添加一個運行時庫的路徑去構建Qt libraries. | |
-l | 顯示添加一個library. | |
-no-rpath | 不使用庫安裝路徑作為一個運行時庫路徑 在蘋果的平臺上,這意味著使用絕對安裝名稱(基于在libdir)動態庫和框架。 | |
+ | -rpath | 鏈接 Qt 庫和可執行文件使用庫安裝路徑作為運行時庫路徑。相當于-R install_libpath |
-continue | 如果發生錯誤,盡量繼續。 | |
-verbose, -v | 打印每個步驟的配置過程的詳細的信息。 | |
-silent | 減少生成輸出,這樣可以更容易看到警告和錯誤。 | |
-no-nis | 不要編譯NIS 支持. | |
* | -nis | 編譯 NIS 支持. |
-no-cups | 不要編譯CUPS支持. | |
* | -cups | 編譯CUPS支持. 要求 cups/cups.h 和libcups.so.2. |
-no-iconv | 不編譯對 iconv(3) 的支持。 | |
* | -iconv | 編譯對 iconv(3) 的支持。 |
-no-evdev | 不編譯對 evdev 的支持。 | |
* | -evdev | 編譯對 evdev 的支持。 |
-no-tslib | 不編譯對 tslib 的支持 tslib是對觸屏的支持 | |
* | -tslib | 編譯對 tslib 的支持. |
-no-icu | 不編譯對 ICU libraries 的支持. 這是IBM發布的字符集編碼轉換庫 | |
+ | -icu | 編譯對 ICU libraries 的支持. |
-no-fontconfig | 不編譯系統中的FontConfig支持 | |
+ | -fontconfig | 編譯系統中的FontConfig支持 |
-no-strip | 不對二進制文件和庫的使用strip去除不需要的符號. | |
* | -strip | 在安裝時對二進制文件和庫的使用strip去除不需要的符號 |
* | -no-pch | 不使用預編譯的頭支持. |
-pch | 使用預編譯的頭支持. | |
* | -no-ltcg | 不使用鏈接時代碼生成 |
-ltcg | 使用鏈接時代碼生成. | |
-no-dbus | 不要編譯Qt D-Bus 模塊. | |
+ | -dbus-linked | 編譯Qt D-Bus模塊并鏈接到libdbus-1. |
-dbus-runtime | 編譯Qt D-Bus模塊并動態加載libdbus-1. | |
-reduce-relocations | 減少通過額外的鏈接器優化庫的重加載 (僅qt/X11 和Qt/linux嵌入式 ;實驗性的;需要 GNU ld > = 2.18) | |
-no-use-gold-linker | 不要使用GNU gold linker進行鏈接. | |
+ | -use-gold-linker | 使用GNU gold linker進行鏈接. |
-force-asserts | 強制啟用Q_ASSERT,即使在release構建中. | |
-sanitize [address/thread/memory/undefined] | 啟用指定編譯器的sanitizer. | |
-device | 跨平臺編譯 | |
-device-option | 添加device mkspec的device選項 (試驗性) | |
* | -no-separate-debug-info | 不將調試信息存儲在一個單獨的文件 |
-separate-debug-info | 將調試信息到一個單獨的文件 | |
-no-xcb | 不要編譯Xcb (X protocol C-language Binding) 支持. | |
* | -xcb | 編譯 Xcb 支持. |
-no-eglfs | 不要編譯EGLFS (EGL Full Screen/Single Surface) 支持. | |
* | -eglfs | 編譯 EGLFS 支持. |
-no-kms | 不要編譯KMS的后端. | |
* | -kms | 編譯 KMS的后端. |
-no-gbm | 不要編譯 GBM 的后端. | |
* | -gbm | 編譯 GBM的后端. |
-no-directfb | 不要編譯 DirectFB 支持. | |
* | -directfb | 編譯 DirectFB 支持. |
-no-linuxfb | 不要編譯Linux Framebuffer 支持. | |
* | -linuxfb | 編譯 Linux Framebuffer 支持. |
* | -no-mirclient | 不要編譯 Mir client 支持. |
-mirclient | 編譯 Mir client 支持. | |
-qpa | 設置默認的QPA 平臺 (示例 xcb, cocoa, windows). | |
-xplatform target | 指定目標平臺(在跨平臺編譯時) | |
-sysroot | 將 | |
-no-gcc-sysroot | 當使用-sysroot時, 它禁用將–sysroot傳遞到編譯器 | |
-no-feature- | 在 | |
-feature- | 編譯 | |
-qconfig local | 使用src/corelib/global/qconfig-local.h ,而不是默認的(全部). | |
-qreal [double/float] | 為qreal指定類型.默認值是double。請注意,更改此標志影響二進制兼容性。 | |
-no-opengl | 禁用OpenGL支持. | |
-opengl | 啟用 OpenGL 支持. 不帶參數時,這將會嘗試自動檢測的 OpenGL ES 2.0 和更高版本,或常規的桌面版OpenGL. 使用 es2 的將替代自動檢測 | |
-no-libinput | 禁用libinput支持. | |
* | -libinput | 啟用libinput 支持. |
-no-gstreamer | 禁用GStreamer支持. | |
+ | -gstreamer | 啟用 GStreamer 支持。 不帶參數,這將會嘗試自動檢測 GStreamer 0.10 和 1.0。GStreamer 1.0 是默認使用的可用時。使用 0.10 或 1.0 |
* | -no-system-proxies | 默認情況下,不使用系統網絡代理 |
-system-proxies | 默認情況下,使用系統網絡代理 | |
-no-warnings-are-errors | Make 時把warnings當做正常 | |
-warnings-are-errors | Make時把warnings 當做錯誤 (如果啟用了-developer-build) |
選項 | 作用 |
---|---|
-no-slog2 | 不編譯 slog2 的支持 |
-slog2 | 編譯 slog2 的支持 |
-no-pps | 不編譯 pps 的支持 |
-pps | 編譯 pps 的支持 |
-no-imf | 不編譯 imf 的支持 |
-imf | 編譯 imf 的支持 |
-no-lgmon | 不編譯 lgmon 的支持 |
-lgmon | 編譯 lgmon 的支持 |
選項 | 作用 | |
---|---|---|
-android-sdk path | Android SDK 根目錄 (默認 $ANDROID_SDK_ROOT) | |
-android-ndk path | Android NDK 根目錄. (默認 $ANDROID_NDK_ROOT) | |
-android-ndk-platform | 設置android 平臺版本 (默認 android-9) | |
-android-ndk-host | 設置android NDK 主機類型 (linux-x86, linux-x86_64, etc.) (默認 $ANDROID_NDK_HOST) | |
-android-arch | 設置android 體系結構 (armeabi, armeabi-v7a, x86, mips, arm64-v8a, x86_64, mips64) (默認 armeabi-v7a) | |
-android-toolchain-version | 設置android 工具鏈版本 (默認 4.9) | |
-no-android-style-assets | 不編譯 通過運行時設備自動提取style-assets的代碼. 設置這將使Android風格的行為不當,但與lgpl2.1許可兼容 | |
* | -android-style-assets | 編譯 通過運行時設備自動提取style-assets的代碼. 此選項將使Android平臺的lgpl2.1許可不兼容。 |
下面是我編譯的時候使用的選項。 -platform這一個選項是用于指定目標平臺的,可以看qt源碼目錄/qtbase/mkspecs/下的的目錄,就是QT支持的平臺。可以進這個目錄修改qmake.conf文件來指定編譯器和編譯選項。
/home/o/qt-src/qt-opensource-src-5.6.0/qt-everywhere-opensource-src-5.6.0 [o@o-pc] [12:09] > ./configure -prefix /home/o/pragram/qt_5.6.0_gcc5.2.1 -release -debug -opensource -c++std c++11 -static -qt-sql-mysql -qt-sql-sqlite -platform linux-g++-64 -qt-zlib -no-journald -qt-libpng -qt-libjpeg -openssl -opengl
下面是詢問是否查看開源協議或者直接接受的。直接yes通過就好。
Type ‘3‘ to view the GNU Lesser General Public License version 3. Type ‘L‘ to view the Lesser GNU General Public License version 2.1. Type ‘yes‘ to accept this license offer. Type ‘no‘ to decline this license offer. Do you accept the terms of either license? yes ... ...
這里給出一個示例,就是xcb庫檢查失敗。
Running configuration tests (phase 1)... Done running configuration tests. Creating qmake... .Done. Running configuration tests (phase 2)... The test for linking against libxcb and support libraries failed! You might need to install dependency packages, or pass -qt-xcb. See src/plugins/platforms/xcb/README.
這個很好解決,按下libxcb-***-dev就是了。其他的庫檢查失敗也是一樣的。也可以通過-qt-xcb選項,使用Qt自帶的xcb庫。
configure成功后會出現如下提示,后面說讓你使用make進行編譯,make install進行安裝。“
1 Build type: linux-g++-64 (x86_64, CPU features: mmx sse sse2) 2 3 Build options: 4 Configuration .......... accessibility accessibility-atspi-bridge alsa audio-backend avx avx2 c++11 clock-gettime clock-monotonic compile_examples concurrent dbus dbus-linked debug egl eglfs egl_x11 enable_new_dtags evdev eventfd fontconfig full-config getaddrinfo getifaddrs gif glib gstreamer-0.10 harfbuzz iconv icu inotify ipv6ifname jpeg kms large-config largefile libudev linuxfb medium-config minimal-config mremap nis opengl openssl png posix_fallocate precompile_header pulseaudio qpa qpa reduce_exports reduce_relocations rpath small-config sse2 sse3 sse4_1 sse4_2 ssse3 static system-freetype threadsafe-cloexec use_gold_linker xcb xcb-glx xcb-plugin xcb-render xcb-sm xcb-xlib xinput2 xkbcommon-evdev xkbcommon-qt xlib xrender zlib 5 Build parts ............ libs tools examples 6 Mode ................... debug 7 Using sanitizer(s)...... none 8 Using C++ standard ..... c++11 9 Using gold linker....... yes 10 Using new DTAGS ........ yes 11 Using PCH .............. yes 12 Using LTCG ............. no 13 Target compiler supports: 14 SSE2/SSE3/SSSE3 ...... yes/yes/yes 15 SSE4.1/SSE4.2 ........ yes/yes 16 AVX/AVX2 ............. yes/yes 17 18 Qt modules and options: 19 Qt D-Bus ............... yes (linked to dbus-1) 20 Qt Concurrent .......... yes 21 Qt GUI ................. yes 22 Qt Widgets ............. yes 23 Large File ............. yes 24 QML debugging .......... yes 25 Use system proxies ..... no 26 27 Support enabled for: 28 Accessibility .......... yes 29 ALSA ................... yes 30 CUPS ................... no 31 Evdev .................. yes 32 FontConfig ............. yes 33 FreeType ............... yes (system library) 34 Glib ................... yes 35 GStreamer .............. yes (0.10) 36 GTK theme .............. no 37 HarfBuzz ............... yes (bundled copy) 38 Iconv .................. yes 39 ICU .................... yes 40 Image formats: 41 GIF .................. yes (in QtGui, using bundled copy) 42 JPEG ................. yes (in QtGui, using bundled copy) 43 PNG .................. yes (in QtGui, using bundled copy) 44 libinput................ no 45 Logging backends: 46 journald ............... no 47 syslog ............... no 48 mtdev .................. no 49 Networking: 50 getaddrinfo .......... yes 51 getifaddrs ........... yes 52 IPv6 ifname .......... yes 53 libproxy.............. no 54 OpenSSL .............. yes (loading libraries at run-time) 55 NIS .................... yes 56 OpenGL / OpenVG: 57 EGL .................. yes 58 OpenGL ............... desktop 59 OpenVG ............... no 60 PCRE ................... system 61 pkg-config ............. yes 62 PulseAudio ............. yes 63 QPA backends: 64 DirectFB ............. no 65 EGLFS ................ yes 66 EGLFS i.MX6 ........ no 67 EGLFS i.MX6 Wayland. no 68 EGLFS EGLDevice .... no 69 EGLFS GBM .......... no 70 EGLFS Mali ......... no 71 EGLFS Raspberry Pi . no 72 EGLFS X11 .......... yes 73 LinuxFB .............. yes 74 Mir client............ no 75 XCB .................. yes (system library) 76 EGL on X ........... yes 77 GLX ................ yes 78 MIT-SHM ............ yes 79 Xcb-Xlib ........... yes 80 Xcursor ............ yes (loaded at runtime) 81 Xfixes ............. yes (loaded at runtime) 82 Xi ................. no 83 Xi2 ................ yes 84 Xinerama ........... yes (loaded at runtime) 85 Xrandr ............. yes (loaded at runtime) 86 Xrender ............ yes 87 XKB ................ yes 88 XShape ............. yes 89 XSync .............. yes 90 XVideo ............. yes 91 Session management ..... yes 92 SQL drivers: 93 DB2 .................. no 94 InterBase ............ no 95 MySQL ................ qt 96 OCI .................. no 97 ODBC ................. yes (plugin) 98 PostgreSQL ........... yes (plugin) 99 SQLite 2 ............. no 100 SQLite ............... qt-qt 101 TDS .................. no 102 tslib .................. no 103 udev ................... yes 104 xkbcommon-x11........... yes (bundled copy, XKB config root: /usr/share/X11/xkb) 105 xkbcommon-evdev......... yes 106 zlib ................... yes (bundled copy) 107 108 109 WARNING: Using static linking will disable the use of dynamically 110 loaded plugins. Make sure to import all needed static plugins, 111 or compile needed modules into the library. 112 Info: creating super cache file /home/o/qt-src/qt-opensource-src-5.6.0/qt-everywhere-opensource-src-5.6.0/.qmake.super 113 114 Qt is now configured for building. Just run ‘make‘. 115 Once everything is built, you must run ‘make install‘. 116 Qt will be installed into /home/o/pragram/qt_5.6.0_gcc5.2.1 117 118 Prior to reconfiguration, make sure you remove any leftovers from 119 the previous build.
configure成功提示
關于“Linux怎么編譯qt”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“Linux怎么編譯qt”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。