天天看點

《Linux From Scratch》第三部分:建構LFS系統 第六章:安裝基本的系統軟體- 6.20. Ncurses-5.9

             Ncurses 軟體包包含用于不依賴于特定終端的字元螢幕處理的庫。

大概編譯時間:

0.5 SBU

需要磁盤空間:

54 MB

準備編譯 Ncurses:

新配置選項的含義:

<dl></dl>

<dt></dt>

<code>--enable-widec</code>

<dd></dd>

這個選項會編譯寬字元庫(例如 <code>libncursesw.so.5.9</code>)而不是正常的)例如 <code>libncurses.so.5.9</code>)。寬字元庫可用于多位元組和傳統的 8 位本地字元,

而正常的庫隻能用于 8 位本地字元。寬字元庫和正常的庫是源檔案相容的,而不是二進制檔案相容的。

<code>--enable-pc-files</code>

該選項為 pkg-config 生成和安裝 .pc 檔案。

編譯軟體包:

該軟體包有個測試套件,但隻能在安裝完軟體包後運作。測試程式在 <code>test/</code> 目錄中。檢視該目錄中的 <code>README</code> 檔案擷取更詳細資訊。

安裝軟體包:

移動共享庫到期望的 <code>/lib</code> 檔案夾:

由于庫已經被移走了,符号連結指向了一個不存在的檔案。重建符号連結:

很多應用程式仍然希望編輯器能找到非寬字元的 Ncurses 庫。通過符号連結和連結器腳本欺騙這樣的應用連結到寬字元庫:

最後,確定在編譯時會查找 <code>-lcurses</code> 的舊應用程式仍然可以編譯:

如果需要的話,安裝 Ncurses 的幫助文檔:

《Linux From Scratch》第三部分:建構LFS系統 第六章:安裝基本的系統軟體- 6.20. Ncurses-5.9

上面的指令并不會建立非寬字元 Ncurses 庫,因為沒有從源檔案中編譯安裝的軟體包會在運作時連結它們。如果你由于一些僅有二進制的應用程式或要和 LSB 相容而必須要有這樣的庫,用下面的指令重新編譯軟體包:

安裝的程式:

captoinfo (連結到 tic), clear, infocmp,

infotocap (連結到 tic), ncursesw5-config, reset (連結到

tset), tabs, tic, toe, tput, and tset

安裝的庫:

libcursesw.{a,so} (到 libncursesw.{a,so} 的符号連結和連結器腳本), libformw.{a,so},

libmenuw.{a,so}, libncurses++w.a, libncursesw.{a,so},

libpanelw.{a,so}, 以及庫名稱中沒有 "w" 的對應的非寬字元部分

安裝目錄:

/usr/share/tabset, /usr/share/terminfo,

和 /usr/share/doc/ncurses-5.9

轉換 termcap 描述為 terminfo 描述

如果可以的話清空螢幕

比較或輸出 terminfo 描述

轉換 terminfo 描述為 termcap 描述

為 ncurses 提供配置資訊

重新初始化終端為預設設定

清空終端并設定制表符長度

将 terminfo 檔案從源檔案格式轉換到二進制格式的 terminfo 條目描述編譯器需要 ncurses 例程 [terminfo 檔案包含特定終端的功能資訊]

列出所有可用的終端類型,給出每個主名稱和描述

可以在 shell 中使用終端特定的功能值;也可用來重置或初始化終端或者報告它的完整名稱

可以用來初始化終端

到 <code>libncursesw</code> 的連結。

包含在一個終端螢幕以多種複雜方式顯示文本的函數;使用這些功能的一個好的例子是核心 make

menuconfig 時的菜單顯示

包含實作表單的函數

包含實作菜單的函數

包含實作面闆的函數

建立者:Gerard Beekmans

編輯者:Matthew Burgess 和 Armin K.

翻譯團隊:LCTT

譯者/校對:ictlyh,wxy

<a href="https://linux.cn/lfs/LFS-BOOK-7.7-systemd/chapter06/ncurses.html" target="_blank">原文連結</a>

繼續閱讀