编译过程中,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. 侧滑SilidingMenu ,ViewPager 和,PagerIndicator 冲突

    今天敲代码过程中发现再ViewPager 页面中禁用的SilidingMenu侧滑菜单突然失效了,那么肯定是添加的PagerIndicator的问题, 然后我发现 把setOnPageChangeLi ...

  2. Android图片浏览器之缩略图

    项目源码:http://files.cnblogs.com/files/tgyf/app.rar. 最近在自学Android,尝试实现一般手机上都存在的图片浏览器,从缩略图开始. 直接上图,这是goo ...

  3. Android--按钮点击事件

    Android中Button的点击事件非常简单,主要是一个内部类的问题 在界面上存在两个按钮和一个文本框,点击不同按钮的时候文本框中显示不同按钮的文字信息 <?xml version=" ...

  4. node判断文件目录是否存在

    'use strict'; //这是一个简单的应用 var path = require('path'); var fs = require("fs") ; global.l = ...

  5. android之对话、单复框的使用

    对话框 通过builder来构建一个单选框 package xidian.dy.com.chujia; import android.content.DialogInterface; import a ...

  6. Boostrap响应式与非响应式

    非响应式布局 在使用非响应式布局时,在<head>标签中需要加入一下内容,其中最主要的是non-responsive.css文件 <head> <meta http-eq ...

  7. [设计模式] JavaScript 之 原型模式 : Object.create 与 prototype

    原型模式说明 说明:使用原型实例来 拷贝 创建新的可定制的对象:新建的对象,不需要知道原对象创建的具体过程: 过程:Prototype => new ProtoExam => clone ...

  8. 一头扎进EasyUI

    惯例广告一发,对于初学真,真的很有用www.java1234.com,去试试吧! 一头扎进EasyUI第1讲 .加载库文件和样式 <link rel="stylesheet" ...

  9. Yii2的view需要链接跳转

    添加 use yii\helpers\Url; view中的连接 <?= Url::toRoute('post/index');?>//post为你的当前控制器名,index为view模版

  10. 【BZOJ-1406】密码箱 约数 + 乱搞 + set?

    1406: [AHOI2007]密码箱 Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1143  Solved: 677[Submit][Status][ ...