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 的幫助文檔:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuUGdv52LcNXZnFWbp9CXk1WZ0NXez1yNucTLL90TC1yUGx0LcNnZs9CXuNmL4Vnbpx2Lc9CX6MHc0RHaiojIsJye.png)
上面的指令并不會建立非寬字元 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>