sudo dpkg-reconfigure lightdm
を実行すると ターミナルには、単純なウィンドウのようなリストメニューが表示されます。 C ++でそのようなものを作成する方法はありますか?
これは次のようになります:
承認された回答:
sudo dpkg-reconfigure lightdm
を実行すると表示される、ターミナル内に含まれるテキストベースのウィンドウのようなインターフェイス ncursesを使用してコーディングされています 図書館。したがって、プログラムにそのようなインターフェイスを提供させたい場合は、ncursesも使用できます。
-
これがncursesプロジェクトページです。
-
これがNCURSESプログラミングHOWTOです。
-
ncurses-docを使用していくつかのncursesドキュメントファイルをインストールできます パッケージ。
これにはncursesのマンページが含まれ、ここからオンラインで表示することもできます。また、ncursesライブラリが提供するすべての機能のマニュアルページも含まれています(一部はマンページを共有しています)。これらのマンページはではありません 現在manpages.ubuntu.comでオンラインです。
Ubuntuでncursesを使用してソフトウェアをビルドするには、適切なヘッダーファイルパッケージを入手する必要があります。クロスコンパイルしない限り、これは次のようになります。
-
ほとんどの文字が1バイトで表される従来の文字列を使用するプログラム(UTF-8など)の場合は、libncurses5を使用します。 。
文字列が
char
の配列である場合、これはおそらく必要なものです。 (Cおよびその他のCベースの言語)またはstd::string
(C ++の場合)。 -
ワイド文字のサポートが必要なプログラムの場合は、libncursesw5を使用してください 。
文字列が
wchar_t
の配列である場合は、特にこれが必要になります (Cおよびその他のCベースの言語)またはstd::wstring
、std::u16string
、またはstd::u32string
(C ++の場合)。
オプションで、プログラムのデバッグを支援するために、また デバッグシンボルが必要です(gdbなどのデバッガー用)。そのためには、libncurses5-dbgをインストールします またはlibncursesw5-dbg も。
GCCを使用してプログラムをビルドする場合(例:gcc
またはg++
コマンド)、引数-lncurses
を指定します または-lncursesw
、通常はコマンドの最後にあります。これにより、プログラムがncursesライブラリにリンクされます。例:
g++ -Wall -g -o hello hello.cpp -lncurses
hello.cppをコンパイルします デバッグシンボル(-g
)を使用して実行可能ファイルを生成します )、こんにちはと呼ばれます (-o hello
)、警告が必要になる可能性のあるほとんどのことに関する警告(-Wall
)、および通常の(ワイド文字ではない)ncursesライブラリへのリンク(-lncurses
。