やねのすずめブログ

アクセスカウンタ

zoom RSS ubuntu に ncurses を入れてみる(1)

<<   作成日時 : 2017/01/25 00:33   >>

ブログ気持玉 0 / トラックバック 0 / コメント 0

MS-DOS テキストモードのC言語プログラムを移植しようと思い、
ubuntu に ncurses を入れてみることにしました。
※おそらく、実行用のライブラリは標準でインストールされていますが、
 開発用のヘッダファイルやマニュアル等はインストールされていないと思います。

(2)で ubuntu 公式の libncursesw5-dev パッケージのインストールを説明しています。
ubuntu に ncurses を入れてみる(2)

ncurses の説明は、ここが分かりやすいと思います。
lf233, SoftwareDevelopment: Ncurses 入門

ncurses のホームページ・サイト
Announcing ncurses 6.0 - GNU Project - Free Software Foundation (FSF):

ncurses のダウンロード・ページ
http://ftp.gnu.org/gnu/ncurses/

最新は ncurses 6.0 ですが、ウェブで調べたら、コンパイラ gcc のバージョンが古いので、
コンパイルできず、インストールできないとのこと。

失敗に備えて、ubuntu のインストールDVDから「ubuntu を試す」でテスト。
(ubuntu のインストール済HDDを壊さないように)

それで ncurses 5.9 をダウンロードしたのですが、それでもコンパイルエラーが出て失敗しました。
OSは ubuntu 16.04LTS 64bit
gcc は 5.3.1

$ make
......
gcc -DHAVE_CONFIG_H -I../ncurses -I. -D_GNU_SOURCE -DNDEBUG -I. -I../include -O2 --param max-inline-insns-single=1200 -c ../ncurses/lib_gen.c -o ../objects/lib_gen.o
In file included from ../ncurses/curses.priv.h:283:0,
from ../ncurses/lib_gen.c:19:
_10689.c:835:15: error: expected ‘)’ before ‘int’
../include/curses.h:1594:56: note: in definition of macro ‘mouse_trafo’
#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
^
Makefile:790: ターゲット '../objects/lib_gen.o' のレシピで失敗しました
make[1]: *** [../objects/lib_gen.o] エラー 1
make[1]: ディレクトリ '/home/ubuntu/ダウンロード/ncurses-5.9/ncurses' から出ます
Makefile:109: ターゲット 'all' のレシピで失敗しました
make: *** [all] エラー 2

ncurses 5.7 はコンパイルできて、
Hello World プログラムもコンパイルでき、 Hello, world が表示されました。

手順


ダウンロード・ページから ncurses-5.7.tar.gz をクリックしてダウンロード
ダウンロード フォルダ内の ncurses-5.7.tar.gz を右クリック、ここに展開する
ダウンロード フォルダ内に ncurses-5.7 サブフォルダができるので、開く
その中の doc/html/NCURSES-Programming-HOWTO.html に説明があります(英語)
その 1.3 がインストール手順です。これを参考に、端末を開いて

cd ~/ダウンロード/ncurses-5.7
./configure
make
sudo make install

その 2.1 が Hello World プログラムです。

gedit hello.c

でファイルを作り、コードを貼り付けて保存・終了

gcc hello.c -lncurses

でコンパイルして

./a.out

を実行して

Hello World !!!

と表示されれば動作しているでしょう。
何かキーを押すと戻ります。


それでは、説明を読みながらおいおい試してみることにしましょう。
日本語(マルチバイト文字)が使えるかどうか??

テーマ

関連テーマ 一覧


月別リンク

ブログ気持玉

クリックして気持ちを伝えよう!
ログインしてクリックすれば、自分のブログへのリンクが付きます。
→ログインへ

トラックバック(0件)

タイトル (本文) ブログ名/日時

トラックバック用URL help


自分のブログにトラックバック記事作成(会員用) help

タイトル
本 文

コメント(0件)

内 容 ニックネーム/日時

コメントする help

ニックネーム
本 文
ubuntu に ncurses を入れてみる(1) やねのすずめブログ/BIGLOBEウェブリブログ
文字サイズ:       閉じる