ncurses-5.9在Ubuntu16上的安装

首先我们来了解一下什么是ncurses,ncurses 是提供字符终端处理库,包括面板和菜单。诸如make menuconfig Linux内核、busybox等需要使用图形界面操作安装软件的支持。ok,下面进入安装。

#tar xvf ncurses.tar.gz -C /work/*指定解压目录,我这里是根目录下的work文件夹*/

#cd /work/ncurses-5.9

 /work/ncurses-5.9#./configure                                         /*.configure生成配置文件,使用./configure --hlelp查看更多帮助信息*/

然后make,如果出现如下的错误信息

观察报错,发现错误是在../include/curses.h的1594行

接下来则

 /work/ncurses-5.9#vim include/curses.h +1594 如下图


请注意1584行的/*generated*/这个注释,下面给大家补充一点C语言的编译与链接的知识(参考《程序员的自我修养——链接、装载与库》)

例如在我们的Linux下使用gcc编译C语言时,编译可分为四个步骤预处理、编译、汇编、和链接

预编译过程中主要处理那些源代码文件中的以#开始的预编译指令,比如#include,#define等

1.将所有的#define删除,并且展开所有宏定义

2.处理所有条件预编译指令,比如#if、#ifdef、#elif、#else、#endif

3.处理#include预编译指令,将包含的文件插入到该预编译指令的位置。注意,这个过程是递归进行的,也就是说被包含的文件可能还含有其他文件

4.删除所有的注释和"//"和"/**/"  

5.添加行号和文件名标识,比如#2 "hello.c"2,以便于编译时编译器产生调试用的行号信息及用于编译时产生编译错误或警告是能够显示行号。

6.保留所有的#pragma编译器指令,因为编译器必须使用它们。

好了,写到这里相信大家都应该明白了,就是当编译器删除/*generated*/这个注释时直接也导致了下面那个宏的出错。

解决方法,删除/*generated*/这个注释,保存退出。

#make && make install 完成安装

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值