在Linux上編譯代碼時,遇到以下錯誤信息:
curses.h:No such file or directory
查閱相關(guān)資料,整理了下解決方案:
是因?yàn)闆]有安裝ncurses
sudo apt-get install libncurses5-dev
如果不是在Ubuntu環(huán)境下,可以下載安裝ncurses-devel rpm包也可以解決問題: rpm -ivh ncurses-devel-5.5-24.20060715.i386.rpm
在Debian/ Ubuntu Linux系統(tǒng)中,我們可以使用以下命令來安裝ncurses:
$ sudo apt-get install libncurses5-dev libncursesw5-dev
而我使用的是 CentOS版本的Linux,其解決辦法有點(diǎn)不一樣,具體是,在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執(zhí)行.sh文件,提示No such file or directory的問題
問題描述
解決方法
分析原因,可能因?yàn)槲移脚_遷移碰到權(quán)限問題我們來進(jìn)行權(quán)限轉(zhuǎn)換
1)在Windows下轉(zhuǎn)換:
利用一些編輯器如UltraEdit或EditPlus等工具先將腳本編碼轉(zhuǎn)換,再放到Linux中執(zhí)行。轉(zhuǎn)換方式如下(UltraEdit):File-->Conversions-->DOS->UNIX即可。
2)方法
用vim打開該sh文件,輸入:
[plain]
:set ff
回車,顯示fileformat=dos,重新設(shè)置下(www.111cn.net)文件格式:
[plain]
:set ff=unix
保存退出:
[plain]
:wq
再執(zhí)行,竟然可以了
3)在linux中的權(quán)限轉(zhuǎn)換
也可在Linux中轉(zhuǎn)換:
首先要確保文件有可執(zhí)行權(quán)限
#chmod u+x filename
然后修改文件格式
#vi filename
三種方法都可以方便快速的解決關(guān)于Linux執(zhí)行.sh文件,提示No such file or directory這個問題了。
在window平臺下,寫好shell腳本文件,遷移到linux平臺,賦過可執(zhí)行權(quán)限,執(zhí)行該sh文件,
卻提示No such file or directory。ls 了下,確實(shí)有該文件,怎么會事呢,
難道是文件格式兼容性問題?用vim打開該sh文件,輸入:
[plain]
:set ff
回車,顯示fileformat=dos,重新設(shè)置下文件格式:
[plain]
:set ff=unix
保存退出:
[plain]
:wq
再執(zhí)行,竟然可以了。這個事情又給我提了次醒,程序盡量在linux下編寫,遷移時,也許會少很多問題。