编译过程中,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. UIStepper步进器 ——事件驱动型控件,(一个+和-按钮的)

    - (void)viewDidLoad {    [super viewDidLoad];        //步进器 固定的size (94*27), 事件驱动型控件    UIStepper *st ...

  2. openssl实践总结

    openssl实验总结 OPENSSL简介 OpenSSL项目是一个协作开发一个健壮的,商业级的,全功能的,并且开放源代码工具包,它实现了安全套接字层(SSL v2/v3)和传输层安全(TLS v1) ...

  3. css自定义字体

    @font-face { font-family: 华文隶书; src: url( ../font/STLITI.eot ); /* IE */ src: url( ../font/STLITI.tt ...

  4. 编写高质量代码改善C#程序的157个建议[IEnumerable<T>和IQueryable<T>、LINQ避免迭代、LINQ替代迭代]

    前言 本文已更新至http://www.cnblogs.com/aehyok/p/3624579.html .本文主要学习记录以下内容: 建议29.区别LINQ查询中的IEnumerable<T ...

  5. DOM(四)事件流

    1.冒泡型事件 浏览器的事件模型分两种:捕获型事件和冒泡型事件.由于ie不支持捕获型事件,所以以下主要以冒泡型事件作为讲解.(dubbed bubbling)冒泡型指事件安装最特定的事件到最不特定的事 ...

  6. [设计模式]第三回:抽象工厂模式(Abstract Factory)

    概述 在系统中往往会有这种需求,客户端会用到很多对象,而且根据需求变化很可能会切换成另外一套对象.抽象工厂模式可以提供一种封装机制来面对这种需求. 实践 物理模型: 皮肤主题:设计一个可以切换皮肤主题 ...

  7. 2016 版 Laravel 系列入门教程(三)【最适合中国人的 Laravel 教程】

    本教程示例代码见: https://github.com/johnlui/Learn-Laravel-5 在任何地方卡住,最快的办法就是去看示例代码. 在本篇文章中,我们将尝试构建一个带后台的简单博客 ...

  8. OC基础--OC内存管理原则和简单实例

    ARC: 由于自己的学习视频太早,Xcode是iOS6版本,新建命令行项目后,系统会默认启动ARC机制,全程Automatic Reference Counting,简单的说,就是代码中自动加入了re ...

  9. IntellJ IDEA 所有快捷键

    登录下面网站. http://www.jetbrains.com/idea/documentation/ 下载Keymap for Windows/Linux 后面的PDF文档.

  10. hdu3397 线段树 成段更新

    这题真的呵呵了.敲了很长时间,调了很多bug,把0 1 输出,解决了.最后想取反,怎么搞都有bug, 最后还是看了大牛们的博客.不过这题真的敲得爽,调bug时基本把线段树过程全部弄了一遍. #incl ...