编译过程中,termcap.h      文件找不到路径  
查看是linux  源码下找不到termcap.h文件
 
安装了所有关于*cap*的源码包也不起作用
 
 
今天终于解决了这个问题,搜termcap.h  发现一篇文章,如下
-----------------------------------------------------------------------------------------

安装minicom2.3出现termcap.h错误解决方法

2010-05-06 17:12:55
分享:

step 1: ./configure 
result:OK
step 2: make
result: has a error

In file included from port.h:39,
                 from minicom.c:38:
/usr/include/ncurses/termcap.h:63: error: conflicting types for `tgetstr'
/usr/include/termcap.h:46: error: previous declaration of `tgetstr'
/usr/include/ncurses/termcap.h:65: error: conflicting types for `tgetent'
/usr/include/termcap.h:43: error: previous declaration of `tgetent'
/usr/include/ncurses/termcap.h:66: error: conflicting types for `tgetflag'
/usr/include/termcap.h:44: error: previous declaration of `tgetflag'
/usr/include/ncurses/termcap.h:67: error: conflicting types for `tgetnum'
/usr/include/termcap.h:45: error: previous declaration of `tgetnum'
/usr/include/ncurses/termcap.h:68: error: conflicting types for `tputs'
/usr/include/termcap.h:53: error: previous declaration of `tputs'
make[2]: *** [minicom.o] Error 1
make[2]: Leaving directory `/mnt/minicom-2.3/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/mnt/minicom-2.3'

resolve:
关掉/usr/include/ncurses/termcap.h 第3,65,66,67,68行中冲突类型的定义,然后再编译之,ok
     62 #if !defined(NCURSES_TERM_H_incl)
     63 extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
     64 extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
     65 extern NCURSES_EXPORT(int) tgetent (char *, const char *);
     66 extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
     67 extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);
     68 extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
     69 #endif
改为//===================================
     62 #if !defined(NCURSES_TERM_H_incl)
     63 #extern NCURSES_EXPORT(char *) tgetstr (NCURSES_CONST char *, char **);
     64 #extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
     65 #extern NCURSES_EXPORT(int) tgetent (char *, const char *);
     66 #extern NCURSES_EXPORT(int) tgetflag (NCURSES_CONST char *);
     67 #extern NCURSES_EXPORT(int) tgetnum (NCURSES_CONST char *);
     68 #extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
     69 #endif
//===================================
step3:make install
result :OK
这样,就得到想要的minicom了!

------------------------------------------------------------------------------------------
这篇文章给了我提示,/usr/include/ncurses/termcap.h    在源码下找这个文件, 发现不存在ncurses 这个目录
 
那么,是不是缺少ncurses  库呢,安装试一下
 
安装完成后编译通过!!!!
 
   licli.a终于生成
 
 
 
回头看这个库是干啥的?

ncurses简介及其使用方法

NCURSES不仅仅只是封装了底层的终端功能,而且提供了一个相当稳固的工作框架(Framework)用 以产生漂亮的界面。它包含了一些创建窗口的函数。而它的姊妹库 Menu、Panel和Form则是对CURSES基础库的扩展。这些库一般都随同CURSES一起发行。我们可以建立一个同时包含多窗口 (multiple windows)、菜单(menus)、面板(panels)和表单(forms)的应用程序。窗口可以被独立管理,例如让它卷动 (scrollability)或者隐藏。

菜单(Menus)可以让用户建立命令选项,从而方便执行命令。而窗体(Forms)允许用户 建立一些简单的数据输入和显示的窗口。面板(Panels)是NCURSES窗口管理功能的扩展,可以用它覆盖或堆积窗口。

你现在应该知道NCURSES可以做什么了。在你使用之前必须先下载它。你在安装操作系统时(Linux)应 该已经附带了。万一如果你的操作系统还没有安装NCURSES库,可以通过以下的途径可以下载得到:

下载并编译安装文件包:
       你可以通过ftp://ftp.gnu.org/pub/gnu/ncurses/ncurses.tar.gz免 费下载NCURSES。

ftp://ftp.gnu.org/pub/gnu/ncurses

也可以通过GNU的FTP目录:http://www.gnu.org/order/ftp.html 找到提供免费下载NCURSES文件包的站点。最新发布的稳定版本为:5.2 20001021.(译者翻译时已经有5.4版本的NCURSES下载了)

包裹文件中的README和INSTALL文件是安装 NCURSES库的最主要资料。
       通常是这样安装NCURSES的:

tar zxvf  ncurses<version>.tar.gz  #解压缩并且释放 文件包
cd ncurses<version>     #进入解压缩的目录(注意版本)
./configure                        #按照你的系统环境制作安装配置文件
make                                 #编译源代码并且编译NCURSES库
su root                              #切换到root用户环境
make install                    #安装编译好的NCURSES库

 

./configure

sudo make && make install 

 

使用RPM安装文件:
可以在http://rpmfind.net 找到NCURSES的RPM格式安装包。可以在root模式下使用以下的命令安装:(以5.2版本为例)
rpm -vih 下载的RPM文件

===================================

如何解决Install ncurses(ncurses-devel) and try again

打开一个终端输入下面这条语句按回车进行安装即可。

apt-get install libncurses5-dev

 
 

编译过程中,termcap.h 文件找不到路径 licli.a终于生成的更多相关文章

  1. visual studio2010编译过程中出现COFF文件损坏的原因和方法总结

    一.现象描述 笔者在用visual studio2010进行控制台程序进行程序编译时候,经常会遇到代码代码没有语法错误,但是编译不通过的现象.系统报错为 LINK : fatal error LNK1 ...

  2. bundler-sfm windows下编译过程中出现的错误

    一.“sysdep1.h”文件缺失 错误提示: fatal error C1083: 无法打开包括文件: “sysdep1.h”: No such file or directory 这些作为这个软件 ...

  3. live555源码研究(十)------在编译过程中遇到的问题及解决方法

    一.编译testOnDemandRTSPServer.cpp. 在testProgs项目中,加入testOnDemandRTSPServer.cpp进行编译,编译类型是编译成exe文件,在编译过程中会 ...

  4. [Git]07 如何在提交过程中忽略某些文件

     一般我们总会有些文件无需纳入 Git 的管理,也不希望它们总出现在未跟踪文件列表.通常都是些自动生成的文件,比如日志文件,或者编译过程中创建的临时文件等.我们可以创建一个名为 .gitignor ...

  5. OpenJDK源码研究笔记(十三):Javac编译过程中的上下文容器(Context)、单例(Singleton)和延迟创建(LazyCreation)3种模式

    在阅读Javac源码的过程中,发现一个上下文对象Context. 这个对象用来确保一次编译过程中的用到的类都只有一个实例,即实现我们经常提到的"单例模式". 今天,特意对这个上下文 ...

  6. colmap编译过程中出现,无法解析的外部符号错误 “__cdecl google::base::CheckOpMessageBuilder::ForVar1(void)”

    错误提示: >colmap.lib(matching.obj) : error LNK2019: 无法解析的外部符号 "__declspec(dllimport) public: cl ...

  7. idea在maven中引入了jar包依赖,但是编译过程中报出XXX程序包不存在,已解决

    idea在maven中引入了jar包依赖,但是编译过程中报出XXX程序包不存在 1. 报错具体情况 2. Project Structure中的Libraries没有任何红色波浪线 3. 发现自己要引 ...

  8. Python变量的作用域在编译过程中确定

    为了节省读友的时间,先上结论(对于过程和细节感兴趣的读友可以继续往下阅读,一探究竟): [结论] 1)Python并不是传统意义上的逐行解释型的脚本语言 2)Python变量的作用域在编译过程就已经确 ...

  9. javascript中外部js文件取得自身完整路径得办法

    原文:javascript中外部js文件取得自身完整路径得办法 有时候我们需要引入一个外部js文件,这个js文件又需要用到自己的路径或者是所在的目录,别问怎么又这么变态的需求,开发做久了各种奇葩需求也 ...

随机推荐

  1. [MetaHook] Load large texture from model

    We need hook "GL_LoadTexture" engine function. GL_LOADTEXTURE_SIG from hw.dll(3266) engine ...

  2. Linux 安装配置Subversion edge

    2014-04-14:修正部分描述.添加JAVA_HOME报错处理步骤.添加配置sudoers 系统:CentOS 5.8 ,6.4 Subversion版本:Subversion Edge 4.0. ...

  3. 基于int的Linux的经典系统调用实现

     先说明两个概念:中断和系统调用 一 系统调用: 是应用程序(运行库也是应用程序的一部分)与操作系统内核之间的接口,它决定了应用程序是如何和内核打交道的. 1,  Linux系统调用:2.6.19版内 ...

  4. 按照需要分别率长宽比导出图片(python 3)

    效率提升的问题 之前朋友需要把大量的图片用分辨率进行区分查找,他说都是打开图片,然后用尺子在屏幕上量......我也是瀑布汗....花的点时间帮他写的小软件,解决这个蛋疼的问题 解决方案 本想用批处理 ...

  5. 如何在Mvc 6 中创建 Web Api以及如何脱离IIS实现自我托管

    微软推出的Asp.net vNext(asp.net 5.0)的其中的一个目标就是统一mvc 和web api 的框架.接下来我就演示一下一下几个内容 1,怎么在Asp.net mvc 6 中创建简单 ...

  6. 编写高质量代码改善C#程序的157个建议[正确操作字符串、使用默认转型方法、却别对待强制转换与as和is]

    前言 本文主要来学习记录前三个建议. 建议1.正确操作字符串 建议2.使用默认转型方法 建议3.区别对待强制转换与as和is 其中有很多需要理解的东西,有些地方可能理解的不太到位,还望指正. 建议1. ...

  7. 序列化和反序列化的几种方式(DataContractSerializer)(二)

    DataContractSerializer 类 使用提供的数据协定,将类型实例序列化和反序列化为 XML 流或文档. 无法继承此类. 命名空间: System.Runtime.Serializati ...

  8. 第三十六课:如何书写一个完整的ajax模块

    本课主要教大家如何书写一个完整的ajax模块,讲解的代码主要跟ajax有关,而jQuery的ajax模块添加了Deferred异步编程的机制,因此对ajax的理解难度增大,还是忽略掉.但是我要讲解的代 ...

  9. 第三十课:JSDeferred详解1

    本课难度非常大,看一遍,蛋会疼,第二遍蛋不舒服,第三遍应该貌似懂了.初学者莫来,没必要,这完全就是一个研究. JSDeferred是日本高手cho45搞出来的,其易用性远胜于Mochikit Defe ...

  10. HTML5——单次定位请求

    单次定位请求及点击一次只发出一次请求 下面是个获取经纬度的简单Demo 简要截图如下: 简要代码如下: <!DOCTYPE html> <html> <head> ...