zoukankan      html  css  js  c++  java
  • 编译过程中,termcap.h 文件找不到路径 licli.a终于生成

    编译过程中,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

     
     
  • 相关阅读:
    【扫盲】i++和++i的区别
    java 字符串String.intern()方法学习
    随机访问和快速访问
    Semaphore信号量深度解析
    CyclicBarrier回环屏障深度解析
    CountDownLatch深度剖析
    静态代理和装饰者模式的区别
    AspectJ之@DeclareParents注解为对象添加新方法
    C#开发上位机常用
    使用Charles进行抓包、篡改请求、设置代理
  • 原文地址:https://www.cnblogs.com/the-tops/p/5674726.html
Copyright © 2011-2022 走看看