在Linux上编译代码时,遇到以下错误信息:
curses.h:No such file or directory
查阅相关资料,整理了下解决方案:
是因为没有安装ncurses
sudo apt-get install libncurses5-dev
如果不是在Ubuntu环境下,可以下载安装ncurses-devel rpm包也可以解决问题: rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm
在Debian/ Ubuntu Linux系统中,我们可以使用以下命令来安装ncurses:
$ sudo apt-get install libncurses5-dev libncursesw5-dev
而我使用的是 CentOS版本的Linux,其解决办法有点不一样,具体是,在RHEL / Fedora / CentOS Linux中,我们使用以下命令:
# yum install ncurses-devel ncurses
安装过程大致如下:
[root@localhost test]# yum install ncurses-devel ncurses
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons:centos.ustc.edu.cn
* base:centos.ustc.edu.cn
* commercial-addons:elastix.adaptixnetworks.com
* elastix-base:elastix.adaptixnetworks.com
* elastix-extras:elastix.adaptixnetworks.com
* elastix-updates:elastix.adaptixnetworks.com
* epel:mirrors.neusoft.edu.cn
* extras:ftp.sjtu.edu.cn
* updates: centos.ustc.edu.cn
Excluding Packages from CentOS-5 - Addons
Finished
Excluding Packages from CentOS-5 - Base
Finished
Excluding Packages from CentOS-5 - Extras
Finished
Excluding Packages from CentOS-5 - Updates
Finished
Setting up Install Process
Package ncurses-5.5-24.20060715.i386 already installed andlatest version
Resolving Dependencies
--> Running transaction check
---> Package ncurses-devel.i386 0:5.5-24.20060715 set tobe updated
--> Finished Dependency Resolution
Dependencies Resolved
==================================================
Package Arch Version Repository Size
==================================================
Installing:
ncurses-devel i386 5.5-24.20060715 base 1.6 M
Transaction Summary
==================================================
Install 1Package(s)
Upgrade 0Package(s)
Total download size: 1.6 M
Is this ok [y/N]: y
Downloading Packages:
ncurses-devel-5.5-24.20060715.i386.rpm | 1.6 MB 00:01
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : ncurses-devel 1/1
Installed:
ncurses-devel.i3860:5.5-24.20060715
Complete!
安装完成后,重新编译程序,一切正常!
Linux执行.sh文件,提示No such file or directory的问题
问题描述
解决方法
分析原因,可能因为我平台迁移碰到权限问题我们来进行权限转换
1)在Windows下转换:
利用一些编辑器如UltraEdit或EditPlus等工具先将脚本编码转换,再放到Linux中执行。转换方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
2)方法
用vim打开该sh文件,输入:
[plain]
:set ff
回车,显示fileformat=dos,重新设置下(www.111cn.net)文件格式:
[plain]
:set ff=unix
保存退出:
[plain]
:wq
再执行,竟然可以了
3)在linux中的权限转换
也可在Linux中转换:
首先要确保文件有可执行权限
#chmod u+x filename
然后修改文件格式
#vi filename
三种方法都可以方便快速的解决关于Linux执行.sh文件,提示No such file or directory这个问题了。
在window平台下,写好shell脚本文件,迁移到linux平台,赋过可执行权限,执行该sh文件,
却提示No such file or directory。ls 了下,确实有该文件,怎么会事呢,
难道是文件格式兼容性问题?用vim打开该sh文件,输入:
[plain]
:set ff
回车,显示fileformat=dos,重新设置下文件格式:
[plain]
:set ff=unix
保存退出:
[plain]
:wq
再执行,竟然可以了。这个事情又给我提了次醒,程序尽量在linux下编写,迁移时,也许会少很多问题。