看官们。咱们今天要说的内容。是前面内容的一点小补充,详细的内容是:安装curses开发包。以搭建

开发环境。闲话休说,言归正转。

我们在前面说过搭建开发环境的内容,主要说了开发环境中的GCC和VIM,今天咱们会说怎样搭建开发环境

中的另外一个工具:curses。

curses是Linux上的一个图形库。只是我们使用的Mint仅仅安装了库文件。没有安装与该库相关的头文件。

有这些头文件,就不能进行相关的开发工作。因此,假设我们想使用Linux开发一些简单的图形软件的话,就

须要安装与该相关的头文件,以下是具体的安装过程:

1.假设熟悉Linux文件夹结构的话。能够使用命令查看。

查找库文件的命令例如以下:

ll /usr/lib/i386-linux-gnu/ | grep *curses* //没有结果,说明库文件不在这个文件夹中

ll /lib/i386-linux-gnu/ |grep *curses*

Binary file libncurses.so.5.9 matches   //有结果,说明库文件在这个文件夹中

2.库文件有了。可是还须要与库文件相关的头文件:curses.h。查找头文件的命令例如以下:

ll /usr/include/i386-linux-gnu/ |grep *curses* //没有结果,说明头文件不在这个文件夹中

3.没有头文件,仅仅能自己安装

头文件在软件包中,安装软件包后就能够找到头文件,可是我们不知道软件包的名字,因此。使

用命令搜索一下:

apt-cache search curses

搜索到的结果例如以下:

bittornado - bittorrent client (and tracker) with console and curses interfaces

iptraf - Interactive Colorful IP LAN Monitor

libcunit1-ncurses - Unit Testing Library for C (ncurses)

libcunit1-ncurses-dev - Unit Testing Library for C (ncurses) -- development files

libncurses5-dbg - debugging/profiling libraries for ncurses

libncurses5-dev - developer's libraries for ncurses

libncursesw5 - shared libraries for terminal handling (wide character support)

libncursesw5-dbg - debugging/profiling libraries for ncursesw

libncursesw5-dev - developer's libraries for ncursesw

libtinfo-dev - developer's library for the low-level terminfo library

...//还有非常结果,这里不一列出

我们看到libncurses5-dev - developer's libraries for ncurses这个包的描写叙述后发现它就

是我们想要的包,因此能够安装它。

4.安装libncurses5-dev包到Mint中,详细的命令例如以下:

apt-get install libncurses5-dev   //须要root权限才干运行该命令

正在读取软件包列表... 完毕

正在分析软件包的依赖关系树       

正在读取状态信息... 完毕       

将会安装下列额外的软件包:

  libtinfo-dev

建议安装的软件包:

  ncurses-doc

下列【新】软件包将被安装:

  libncurses5-dev libtinfo-dev

升级了 0 个软件包,新安装了 2 个软件包。要卸载 0 个软件包,有 492 个软件包未被升级。

须要下载 237 kB 的软件包。

解压缩后会消耗掉 1,176 kB 的额外空间。

您希望继续运行吗? [Y/n] y            //确认是否须要安装包。输入y表示安装

获取:1 http://archive.ubuntu.com/ubuntu/ trusty/main libtinfo-dev i386 5.9+20140118-1ubuntu1 [71.2 kB]

获取:2 http://archive.ubuntu.com/ubuntu/ trusty/main libncurses5-dev i386 5.9+20140118-1ubuntu1 [166 kB]

下载 237 kB,耗时 2秒 (92.3 kB/s)        

Selecting previously unselected package libtinfo-dev:i386.

(正在读取数据库 ... 系统当前共安装有 158123 个文件和文件夹。)

Preparing to unpack .../libtinfo-dev_5.9+20140118-1ubuntu1_i386.deb ...

Unpacking libtinfo-dev:i386 (5.9+20140118-1ubuntu1) ...

Selecting previously unselected package libncurses5-dev:i386.

Preparing to unpack .../libncurses5-dev_5.9+20140118-1ubuntu1_i386.deb ...

Unpacking libncurses5-dev:i386 (5.9+20140118-1ubuntu1) ...

正在设置 libtinfo-dev:i386 (5.9+20140118-1ubuntu1) ...

正在设置 libncurses5-dev:i386 (5.9+20140118-1ubuntu1) ...

5.验证一下我们要找的头文件:curses.h是否已经包括到Mint中,详细的命令例如以下:

ll /usr/include/ |grep curses.h  

-rw-r--r--  1 root root  77809  3月 23  2014 curses.h

lrwxrwxrwx  1 root root      8  3月 23  2014 ncurses.h -> curses.h

从命令的结果中,能够看到头文件:curses.h已经包括到系统中了,说明安装成功了包:libncurses5-dev。

我们能够该包开发相关的软件了。

假设对Linux文件夹结构不熟悉,并且也不熟悉相关的Linux命令,那么能够使用图形化工具:新立得包管理

器进行安装

详细的操作步骤例如以下:

1.打开新立得包管理器,点击搜索button。在搜索栏中输入:curses。

2.在搜索出的结果中查找与curses相关的包。

3.从搜索结果中找到libncurses5和libncurses5-dev这两个比較包比較像。到底哪个包是我们想要

的呢?能够通过包的描写叙述来区分,选中包名,点出属性button。查看包的属性,包的描写叙述在属

性中。libncurses5包的描写叙述例如以下:

这个包中包含执行那些使用ncurses编译的程序所必须的共享库

libncurses5-dev包的描写叙述例如以下:

This package contains the header files, static libraries

and symbolic links that developers using ncurses will need.

大家从描写叙述中能够看到,libncurses5-dev就是我们想要的包。

4.点击右键标记安装。就能够安装了。

看官们。我们通过对照后发现安装ncurses和安装gcc,vim的命令是一样的,仅仅是验证成功安装与否时

不一样。

当然了,假设大家忘记怎样安装GCC的话。能够点击这里查看前面的文章;假设忘记怎样安

装VIM的话,能够点击这里查看前面的文章。另外,我们在这里仅仅是说怎样安装curses包来搭建开发

环境。关于包的使用,以及其他工具的使用不做介绍。假设大家感兴趣,能够点出这里查看怎样使用

GCC,点击这里查看怎样使用VIM。

各位看官们,今天的内容就到此为止。欲知后事怎样,且听下回分解。

Linux程序设计(搭建开发环境--curses)的更多相关文章

  1. Scrapy爬虫学习笔记 - windows \ linux下搭建开发环境2

    四.虚拟环境的安装和配置 virtualenv可以搭建虚拟且独立的python运行环境, 使得单个项目的运行环境与其它项目独立起来. virtualenv本质上是个python包 虚拟环境可以将开发环 ...

  2. Scrapy爬虫学习笔记 - windows \ linux下搭建开发环境1

    一.pycharm的安装和简单使用                                   二.mysql和navicat的安装和使用    三.windows和linux下安装pytho ...

  3. Linux设备驱动开发环境的搭建(转)

    经过两周的摸索,终于对Linux设备驱动开发有了个初步的认识,下面对Linux设备驱动开发环境的搭建做个小结,以方便自己以后查询,同时也能给同道的初学者一点帮助. 刚接触Linux设备驱动时,初学者往 ...

  4. Unix/Linux环境C编程新手教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaXRjYXN0Y3Bw/font/5a6L5L2T/font ...

  5. OpenCV2学习笔记01:Linux下OpenCV开发环境的搭建

    个人已经厌倦了Windows下的开发方式,于是决定转到Linux平台上来,当然我也知道这个转变会很艰辛,但是我还是要坚持.所以,后面的所有开发我都会基于Linux和Qt,先从开发环境的搭建开始做起,当 ...

  6. Unix/Linux环境C编程入门教程(12) openSUSECCPP以及Linux内核驱动开发环境搭建

    1. openSUSE是一款优秀的linux. 2.选择默认虚拟机 3.选择稍后安装操作系统 4.选择linux  opensuse 5. 选择默认虚拟机名称 6.设置处理器为双核. 7.内存设置为2 ...

  7. 【课程分享】深入浅出嵌入式linux系统移植开发 (环境搭建、uboot的移植、嵌入式内核的配置与编译)

    深入浅出嵌入式linux系统移植开发 (环境搭建.uboot的移植.嵌入式内核的配置与编译) 亲爱的网友,我这里有套课程想和大家分享,假设对这个课程有兴趣的,能够加我的QQ2059055336和我联系 ...

  8. 搭建Linux C语言开发环境

    1.操作系统 Windows操作系统:windows 7 and windows 10 2.开发工具和编译工具 开发工具:notpad++ 和 vim 编译工具:Cygwin64 Terminal 3 ...

  9. python入门到精通[一]:搭建开发环境

    摘要:Python认识,及在windows和linux上安装环境,测试是否安装成功. 1.写在前面 参加工作也有5年多了,一直在做.net开发,近一年有做NodeJS开发.从一开始的不习惯,到逐步适应 ...

随机推荐

  1. 剑指Offer(Python)

    014-链表中倒数第k个结点 用快慢指针:p2比p1先走到k:间隔了k-1)步,然后再一起走,当p2为最后一个时,p1就为倒数第k个数 class ListNode: def __init__(sel ...

  2. 【转载】Shell 基础 -- 总结几种括号、引号的用法

    原作者:tongye 原文链接:https://www.cnblogs.com/tongye/p/10646211.html 以下为原文: Shell 脚本中经常需要用到一些括号.引号表达式,功能各不 ...

  3. oracle 存储过程,存储函数,包,

    http://heisetoufa.iteye.com/blog/366957 认识存储过程和函数 存储过程和函数也是一种PL/SQL块,是存入数据库的PL/SQL块.但存储过程和函数不同于已经介绍过 ...

  4. 【亲测可行】Dev c++调试、运行报错解决方法总结

    一.编译后  0错误 0警告,但是开始出现‘‘停止运行’’或者进行输入时出现‘‘停止运行’’ 可能的原因: 结构体指针为空,但调用了其成员. 有些scanf语句中忘记添加取址符. 无法跳出递归. 二. ...

  5. 01-mysql中的数据类型

    mysql中的列数据类型:数值型.字符串类型.日期/时间类型3种 几种列类型描述使用了下述惯例:· M #表示最大显示宽度.最大有效显示宽度是255.· D #适用于浮点和定点类型,表示小数点后面的位 ...

  6. memcached 经典问题或现象

    缓存雪崩现象及真实案例 缓存雪崩一般是由某个缓存节点失效,导致其他节点的缓存命中率下降, 缓存中缺失的数据 去数据库查询.短时间内,造成数据库服务器崩溃. 重启 DB,短期又被压跨,但缓存数据也多一些 ...

  7. Python机器学习及实践+从零开始通往Kaggle竞赛之路

    内容简介 本书面向所有对机器学习与数据挖掘的实践及竞赛感兴趣的读者,从零开始,以Python编程语言为基础,在不涉及大量数学模型与复杂编程知识的前提下,逐步带领读者熟悉并且掌握当下最流行的机器学习.数 ...

  8. Android开发——查询/卸载手机里的应用、应用图标创建

    1. 获取手机里的所有已安装的应用 以前写过一个SoftProviderUtil工具类,拿出来分享一个.通过PackageManager,不仅可以获取PackageName,判断此进程是否为系统应用, ...

  9. NGINX模块(二)

    [Nginx标准HTTP模块] 一.HTTP核心模块 指令1:alias 语法:alias file-path|directory-path; 默认值:no 使用字段:location 说明:这个指令 ...

  10. XV6锁

    锁 xv6 运行在多处理器上,即计算机上有多个单独执行代码的 CPU.这些 CPU 操作同一片地址空间并分享其中的数据结构:xv6 必须建立一种合作机制防止它们互相干扰.即使是在单个处理器上,xv6 ...