当按照自己转载的博文《SystemC安装以及VC6.0使用》在Linux Ubuntu系统下进行安装时,出现了以下问题(都是系统的一些命令问题):
1、关于setenv命令
在Ubuntu系统下,用setenv命令进行环境编译时,系统提示错误,没有这条命令。由于自己不经常使用Linux系统,对遇到的问题还不能及时作出反应,不过现在回想一下,系统提示没有这条命令,不是自己输入错误,就是由于版本问题,指令发生了变化。
遇到问题当然要解决,目前最好的工具莫过于百度了,虽然花了点时间,但最后好在把问题解决了。
“在Ubuntu12.04中配置python环境变量:setenv PATH
"$PATH:/usr/local/bin/python",提示未找到setenv命令。
为什么呢?这是因为shell版本问题!
Bourne
Shell(即sh)是UNIX最初使用的shell,平且在每种UNIX上都可以使用。BourneShell在shell编程方便相当优秀,但在处理与用户的交互方便作得不如其他几种shell。 LinuxOS默认的是Bourne
Again Shell,它是Bourne
Shell的扩展,简称bash,与BourneShell完全兼容,并且在BourneShell的基础上增加,增强了很多特性。可以提供命令补全,命令编辑和命令历史等功能。它还包含了很多C
Shell和KornShell中的优点,有灵活和强大的编辑接口,同时又很友好的用户界面
C Shell是一种比Bourne
Shell更适合的变种Shell,它的语法与C语言很相似。Linux为喜欢使用CShell的人提供了Tcsh。
Tcsh是CShell的一个扩展版本。Tcsh包括命令行编辑,可编程单词补全,拼写校正,历史命令替换,作业控制和类似C语言的语法,他不仅和BashShell提示符兼容,而且还提供比Bash
Shell更多的提示符参数。
Korn Shell集合了C Shell和Bourne
Shell的优点并且和BourneShell完全兼容。Linux系统提供了pdksh(ksh的扩展),它支持人物控制,可以在命令行上挂起,后台执行,唤醒或终止程序。
Linux还包括了一些流行的Shell如:ash,zsh等。每个Shell都有它的用途,有些Shell是有专利的,有些能从Internet或其他来源获得。
因此,现在在来解释为什么在ubuntu下出现找不到‘setenv’命令的错误就很容易了。因为setenv/unsetunv是csh的命令,而ubuntu下的shell版本是bash,因此无法解释,但是在bash下有与之对应的命令,对应关系如下:
在 csh shell: 输入
setenv PATH "$PATH:/usr/local/bin/python"
, 按下"Enter"。在 bash shell (Linux): 输入
export PATH="$PATH:/usr/local/bin/python"
,按下"Enter"。在 sh 或者 ksh shell: 输入
PATH="$PATH:/usr/local/bin/python"
, 按下"Enter"。 ”
这是百度出来的原文。意思就是说,在我使用的Ubuntu系统下,环境编译命令不再是setenv,而要使用export命令。但在使用这条命令时,需要注意一个小细节,setenv
CXX g++,在setevn命令中,中间都使用空格隔开,但在使用export命令时,用空格就会提示错误,应该用export
CXX=g++,即可完成编译。
2、关于gmake
在使用这条命令时,出现的仍然是这条命令不存在的错误。
gmake的全名应该是GNUmake,
原来在ubuntu中已经取消掉了它,都用make代替。
gmake与make的区别
============
gmake是GNU Make的缩写。
Linux系统环境下的make就是GNU Make,之所以有gmake,是因为在别的平台上,make一般被占用,GNU
make只好叫gmake了。
比如在安装二进制文件进行编译时要使用make命令,但如果在Solaris或其他非GNU系统中运行,必须使用GNU
make,而不是使用系统自带的make版本,这时要用gmake代替make进行编译。
=============