编译过程中,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. Ubuntu Navicat正版永久使用方法

    最近技安不再带自己的mac book来公司工作了,公司多出来一个台式机,配置还挺高.于是乎就拿过来用了. 装上了Ubuntu14.04 LTS版,正常的开发工具如vagrant,vitualbox,s ...

  2. Jquery操作select,radio,input,p之类

    select的操作 变化后触发操作 $("#txtaddprojecturl").change(function(){ $("#addprojectname") ...

  3. 轻松理解JS基本包装对象

    今天来讨论一下JS中的基本包装对象(也叫基本包装类型),之前刚学到这里的时候,自己也是一头雾水,不明白这个基本包装对象到底是个什么鬼,后来找了很多资料,终于看清了它的真面目.首先呢,我们现在复习一下J ...

  4. Maven(一)简介和基本安装使用

    简介 如今用于项目管理和自动化构建的东东用的比较多的,比如: eclipse中用到的ant 现今流行的android studio中用到的gradle 这里将介绍另一种工具——maven (也可以用来 ...

  5. 【WEB前端经验之谈】时间一年半,或沉淀、或从零开始。

    距上次写博客还是有点久了,中间有个写的念头,不过由于不知道写什么也就放弃了. 14年4月份第一份前端工作到现在也有一年半之久了,自己对前端的热爱相对于一年前是有过之而无不及.一年半的时间里自己也成长了 ...

  6. 嵌入式Linux利用Wifi搭建无线服务器(物联网实践之无线网关)

    在 http://www.cnblogs.com/heat-man/p/4564539.html中,在嵌入式Linux开发板上我们从最底层实现了一个智能家居的远程控制系统,然而采取的是用网线连接到交换 ...

  7. Android应用程序模拟手机按键

    记得以前在做一个C++项目时,需要在某一步操作之后人为用代码模拟敲键盘上的回车键(Enter)效果. 出于好奇,这几天研究了一下Android中手机(或平板)上各种按键的键值.模拟方法及最终效果. 1 ...

  8. Bootstrap系列 -- 31.嵌套分组

    我们常把下拉菜单和普通的按钮组排列在一起,实现类似于导航菜单的效果.使用的时候,只需要把当初制作下拉菜单的“dropdown”的容器换成“btn-group”,并且和普通的按钮放在同一级 <di ...

  9. [wikioi 1418]铃仙•优昙华院稻叶(东方幻想乡系列模拟赛)(树上递推)

    题目:http://www.wikioi.com/problem/1418/ 分析: 一看就肯定是树上的递推 设f[i][j][k]表示第i秒在k点(从j点走过来的)的概率 则f[i][j][k]=f ...

  10. AngularJS开发指南5:AngularJS表达式详解

    AngularJS表达式类似Javascript的代码片段,通常在数据绑定中用到,写在双大括号中,如:{{表达式}}.表达式是用$parse方法来处理的. 下面是一些合法的AngularJS表达式 1 ...