Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

合集下载

ARM-LINUX-GCC设置环境变量

ARM-LINUX-GCC设置环境变量

ARM-LINUX-GCC设置环境变量在/etc/profile 里添加arm-linux-gcc 的存放路径具体是在命令行输入#sudo gedit /etc/profile 回车export PATH=$PATH:/你的arm-linux-gcc 存放的路径保存退出export PATH=/usr/local/arm/bin注意这里最好使用export PATH=$PATH:/usr/local/arm/4.3.2/bin没有$符号的时候可能会修改了默认路径然后会回到终端输入命令界面,输入#arm-linux-gcc -v下面的来自hi.baidu/gonghuixue/item/74a18faa2f7522921410734f1.首先安装build-essential:sudo apt-get install build-essential2.将友善之壁光盘中的arm- linux-gcc-4.3.2.tgz 拷贝到某个文件夹下,从终端进入该文件夹,进行解压:sudo tar -zxvf arm-linux-gcc-4.3.2.tgz -C /NOTE:配置项的C 是大写,且C 后面有个空格。

3.添加环境变量:这一步是我耗时间最长的,关于这一步网上也有很多中说法:1>sudo gedit /root/.bashrc : 在最后一行添加exprot PATH=$PATH:/usr/local/arm/4.3.2/bin。

我不知道其它linux 系统行不行,反正我在ubuntu10.04 下是不行,运行arm-linux-gcc -v 提示:arm-linux-gcc:command not found。

2>先gedit ~/.profile,然后在最后一行添加:export PATH=$PATH:/usr/local/arm/4.3.2/bin,接着source~/.profile,说是可以立即生效,这种是可以,但是我的总是只能使用一次,如果把终端关掉重新运行arm- linux-gcc -v,还是提示command not found.3> sudo gedit /etc/environment,在最后一个:号之后和号之前添加/usr/local/arm/4.3.2/bin:,OK!~~tips:感谢大家的阅读,本文由我司收集整编。

Linux命令行中的环境变量设置和生效技巧

Linux命令行中的环境变量设置和生效技巧

Linux命令行中的环境变量设置和生效技巧在Linux系统中,环境变量是一种能够存储系统配置信息的变量,它们对于系统和应用程序的正常运行至关重要。

通过设置和生效环境变量,我们可以为系统和应用程序提供所需的路径、参数和其他配置信息。

本文将介绍Linux命令行中的环境变量设置和生效的技巧,帮助你更好地理解和应用环境变量。

一、环境变量的基本概念在Linux系统中,每个进程都有自己的环境变量集合。

环境变量由一对键值对组成,键值对以等号("=")分隔。

例如,PATH=/usr/bin表示将/usr/bin目录添加到可执行文件的搜索路径中。

通过使用这样的键值对,我们可以在系统中存储和传递各种配置信息。

二、环境变量的类型1. 全局环境变量全局环境变量对于所有的用户和进程都是可见的。

它们通常在系统启动时由系统管理员进行设置,并在整个系统生命周期内生效。

2. 用户环境变量用户环境变量只对特定用户可见,每个用户可以有自己的环境变量设置。

用户环境变量的存储位置通常是在用户的主目录下的隐藏文件中,例如~/.bashrc或~/.bash_profile。

三、设置环境变量1. 临时设置环境变量通过export命令可以临时设置环境变量并将其导出给其他进程使用。

例如,要将JAVA_HOME设置为/usr/lib/jvm/java-11,可以使用以下命令:export JAVA_HOME=/usr/lib/jvm/java-11这样,该环境变量将在当前终端会话中生效,并在此会话中的所有子进程中可见。

2. 永久设置用户环境变量要永久设置用户环境变量,可以编辑用户的配置文件,例如~/.bashrc或~/.bash_profile。

打开文件后,在其中添加类似以下的行: export JAVA_HOME=/usr/lib/jvm/java-11保存并关闭文件后,重新打开终端会话,设置的环境变量将生效。

3. 全局环境变量的设置全局环境变量是对所有用户和进程都可见的,因此只有系统管理员才能设置。

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量对所有⽤户有效在/etc/profile增加以下内容。

只对当前⽤户有效在Home⽬录下的.bashrc或.bash_profile⾥增加下⾯的内容:(注意:等号前⾯不要加空格,否则可能出现 command not found)#在PATH中找到可执⾏⽂件程序的路径。

export PATH =$PATH:$HOME/bin#gcc找到头⽂件的路径C_INCLUDE_PATH=/usr/include/libxml2:/MyLibexport C_INCLUDE_PATH#g++找到头⽂件的路径CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/libxml2:/MyLibexport CPLUS_INCLUDE_PATH#找到动态链接库的路径LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLibexport LD_LIBRARY_PATH#找到静态库的路径LIBRARY_PATH=$LIBRARY_PATH:/MyLibexport LIBRARY_PATH库⽂件在连接(静态库和共享库)和运⾏(仅限于使⽤共享库的程序)时被使⽤,其搜索路径是在系统中进⾏设置的。

⼀般 Linux 系统把 /lib 和 /usr/lib 两个⽬录作为默认的库搜索路径,所以使⽤这两个⽬录中的库时不需要进⾏设置搜索路径即可直接使⽤。

对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。

设置库⽂件的搜索路径有下列两种⽅式,可任选其⼀使⽤:在环境变量 LD_LIBRARY_PATH 中指明库的搜索路径。

在 /etc/ld.so.conf ⽂件中添加库的搜索路径。

将⾃⼰可能存放库⽂件的路径都加⼊到/etc/ld.so.conf中是明智的选择添加⽅法也极其简单,将库⽂件的绝对路径直接写进去就OK了,⼀⾏⼀个。

GCC编译选项和环境变量

GCC编译选项和环境变量

GCC编译选项和环境变量https:///DLUTXIE/article/details/8176164本⽂由GCC⼿册翻译得到,英语能⼒有限,翻译得不太好,仅为⾃⼰做记录,⽤于理解GCC编译时头⽂件及库⽂件的查找路径问题。

-Idir表⽰增加dir为头⽂件的搜索路径,这个路径优先于系统的默认路径,所以⽤⾃⼰指定的头⽂件来替代系统默认的头⽂件。

但是不要⽤这个选项来指定路径不要包括供应商提供的系统头⽂件(这个情况可以⽤-isystem),如果有多个-I选项,则路径的搜索先后顺序是从左到右的。

,即在前⾯的路径会被选搜索。

另外,如果dir以=号开头即如–I=dir,⽽其中的=号为被sysroot前缀替换。

如果⼀个标准系统包含的⽬录或者⽤-isystem选项指定的⽬录同时⽤了-I选项,则-I选项会被忽略。

那个⽬录仍然会被搜索,只是和没有指定-I选项时⼀样。

这是为了确保GCC程序能过够修复系统头⽂件的bug和⾮故意的改变include_next指令的顺序。

如果你确实需要改变系统路径的搜索顺序,那你可以⽤”-nostdinc” 和/或者“-isystem”选项。

-nostdinc该选项指⽰不要搜索头⽂件的标准路径(即默认路径),⽽只搜索-I选项指定的路径和当前路径。

-isysroot dir该选项和—sysroot选项差不多,但只⽤于搜索头⽂件。

--sysroot=dir⽤dir作为头⽂件和库⽂件的逻辑根⽬录,例如,正常情况下,如果编译器在/usr/include搜索头⽂件,在/usr/lib下搜索库⽂件,它将⽤dir/usr/include和dir/usr/lib替代原来的相应路径。

如果你同时使⽤了-isysroot选项,则—sysroot会应⽤于库⽂件的搜索⽽-isysroot会⽤于搜索头⽂件。

-system dir该选项⽤于搜索头⽂件,但该选项指定的⽬录估在-I选项指定的⽬录后搜索⽽在系统默认路径前搜索。

linux 设置lib环境变量的方法

linux 设置lib环境变量的方法

linux 设置lib环境变量的方法
Linux系统中,lib 环境变量指的是库文件的搜索路径。

在编译和运行程序的过程中,有时需要指定特定的库文件路径,这时就需要设置 lib 环境变量。

以下是设置 lib 环境变量的方法:
1. 通过命令行设置
可以在命令行中使用 export 命令设置 lib 环境变量,例如: export LD_LIBRARY_PATH=/usr/local/lib
这个命令设置了 lib 环境变量为 /usr/local/lib。

2. 在 .bashrc 文件中设置
可以在用户的 .bashrc 文件中添加以下代码:
export LD_LIBRARY_PATH=/usr/local/lib
这样每次打开终端时,都会自动设置 lib 环境变量为
/usr/local/lib。

3. 在 /etc/profile 文件中设置
可以在 /etc/profile 文件中添加以下代码:
export LD_LIBRARY_PATH=/usr/local/lib
这样在系统启动时,就会自动设置 lib 环境变量为
/usr/local/lib。

上述方法中,/usr/local/lib 可以替换为任何需要设置的库文件路径。

需要注意的是,在设置 lib 环境变量时,不要将原有的路径覆盖掉,而是将新路径添加到原有路径的后面,以避免出现无法加载原有库文件的问题。

Linux环境变量配置全攻略

Linux环境变量配置全攻略

Linux环境变量配置全攻略Linux环境变量配置在⾃定义安装软件的时候,经常需要配置环境变量,下⾯列举出各种对环境变量的配置⽅法。

下⾯所有例⼦的环境说明如下:系统:Ubuntu 14.0⽤户名:uusama需要配置MySQL环境变量路径:/home/uusama/mysql/binLinux读取环境变量读取环境变量的⽅法:export命令显⽰当前系统定义的所有环境变量echo $PATH命令输出当前的PATH环境变量的值这两个命令执⾏的效果如下uusama@ubuntu:~$ exportdeclare -x HOME="/home/uusama"declare -x LANG="en_US.UTF-8"declare -x LANGUAGE="en_US:"declare -x LESSCLOSE="/usr/bin/lesspipe %s %s"declare -x LESSOPEN="| /usr/bin/lesspipe %s"declare -x LOGNAME="uusama"declare -x MAIL="/var/mail/uusama"declare -x PATH="/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" declare -x SSH_TTY="/dev/pts/0"declare -x TERM="xterm"declare -x USER="uusama"uusama@ubuntu:~$ echo $PATH/home/uusama/bin:/home/uusama/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin其中PATH变量定义了运⾏命令的查找路径,以冒号:分割不同的路径,使⽤export定义的时候可加双引号也可不加。

Linux应用程序相关环境变量的设置

Linux应用程序相关环境变量的设置

Linux应用程序相关环境变量的设置一、什么环境变量(linux下)环境变量是一个具有特定名字的对象,它包含了一个或者多个应用程序的运行环境信息。

Linux是一个多用户的操作系统。

每个用户登录系统后,都会有一个专用的运行环境。

通常每个用户默认的环境都是相同的,这个默认环境实际上就是一组环境变量的定义。

用户可以对自己的应用程序运行环境进行定制,其方法就是修改相应的系统环境变量。

通过环境变量的设置,可以很容易的修改一个牵涉到一个或多个应用程序的运行环境信息。

二、常用的应用程序相关环境变量通常linux下,如果一个应用程序的安装路径不为/usr、/usr/local等系统默认的安装路径,则运行该应用程序时至少要指定环境变量PATH及LD_LIBRARY_PATH,来分别指定该应用程序命令的查找路径和共享库(动态链接库)的查找路径路径。

(这两个用环境变量设置的路径通常在在默认路径之前查找)除了常用的应用程序相关变量PATH及LD_LIBRARY_PATH,有些应用程序运行还需要一些特殊的环境变量。

如:Qte4需要环境变量QTEDIR;Java 需要环境变量JAVA_HOME和CLASSPATH 等。

总之,在应用程序运行是必须保证其要求的环境变量已经设置好。

三、设置环境变量3.1、用命令export设置环境变量linux提供了一个专门的命令:export来设置环境变量。

其使用方式如下:语法:export [-fnp][变量名称]=[变量设置值]说明:在shell中执行程序时,shell会提供一组环境变量。

export可一次新增,修改或删除多个环境变量,供后续执行的程序使用。

但export的效力仅及于该此登录操作,当当前shell关闭后export设置的环境变量也失去了效力。

参数:-f 代表[变量名称]中为函数名称。

-n 删除指定的变量。

变量实际上并未删除,只是不会输出到后续指令的执行环境中。

-p 列出所有的shell赋予程序的环境变量。

linux中gcc命令的详细解释

linux中gcc命令的详细解释

linux中gcc命令的详细解释linxu下的gcc命令其实是GNU C Compiler的缩写,下面由店铺为大家整理了linux的gcc命令的详细解释的相关知识,希望对大家有帮助!一、linux中的gcc命令的详细解释gcc命令gcc命令使用GNU推出的基于C/C++的编译器,是开放源代码领域应用最广泛的编译器,具有功能强大,编译代码支持性能优化等特点。

现在很多程序员都应用GCC,怎样才能更好的应用GCC。

目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。

语法gcc(选项)(参数)选项-o:指定生成的输出文件;-E:仅执行编译预处理;-S:将C代码转换为汇编代码;-wall:显示警告信息;-c:仅执行编译操作,不进行连接操作。

参数C源文件:指定C语言源代码文件。

二、linux中的gcc命令的详解实例常用编译命令选项假设源程序文件名为test.c无选项编译链接gcc test.c将test.c预处理、汇编、编译并链接形成可执行文件。

这里未指定输出文件,默认输出为a.out。

选项 -ogcc test.c -o test将test.c预处理、汇编、编译并链接形成可执行文件test。

-o选项用来指定输出文件的文件名。

选项 -Egcc -E test.c -o test.i将test.c预处理输出test.i文件。

选项 -Sgcc -S test.i 将预处理输出文件test.i汇编成test.s文件。

选项-c gcc -c test.s将汇编输出文件test.s编译输出test.o文件。

无选项链接gcc test.o -o test将编译输出文件test.o链接成最终可执行文件test。

选项 -Ogcc -O1 test.c -o test使用编译优化级别1编译程序。

级别为1~3,级别越大优化效果越好,但编译时间越长。

多源文件的编译方法如果有多个源文件,基本上有两种编译方法:假设有两个源文件为test.c和testfun.c多个文件一起编译gcc testfun.c test.c -o test将testfun.c和test.c分别编译后链接成test可执行文件。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量(2012-01-31 15:12)
标签: 编译器Linux分类:转载一些有用的文章
对所有用户有效在/etc/profile增加以下内容。

只对当前用户有效在Home目录下的
.bashrc或.bash_profile里增加下面的内容:
(注意:等号前面不要加空格,否则可能出现 command not found)
#在PATH中找到可执行文件程序的路径。

export PATH =$PATH:$HOME/bin
#gcc找到头文件的路径
C_INCLUDE_PATH=/usr/include/libxml2:/MyLib
export C_INCLUDE_PATH
#g++找到头文件的路径
CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/usr/include/libxml2:/MyLib
export CPLUS_INCLUDE_PATH
#找到动态链接库的路径
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/MyLib
export LD_LIBRARY_PATH
#找到静态库的路径
LIBRARY_PATH=$LIBRARY_PATH:/MyLib
export LIBRARY_PATH
库文件在连接(静态库和共享库)和运行(仅限于使用共享库的程序)时被使用,其搜索路径是在系统中进行设置的。

一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。

对于处于默认库搜索路径之外的库,需要将库的位置添加到库的搜索路径之中。

设置库文件的搜索路径有下列两种方式,可任选其一使用:
在环境变量 LD_LIBRARY_PATH 中指明库的搜索路径。

在 /etc/ld.so.conf 文件中添加库的搜索路径。

将自己可能存放库文件的路径都加入到/etc/ld.so.conf中是明智的选择
添加方法也极其简单,将库文件的绝对路径直接写进去就OK了,一行一个。

例如:/usr/X11R6/lib
/usr/local/lib
/opt/lib
需要注意的是:第二种搜索路径的设置方式对于程序连接时的库(包括共享库和静态库)的定位已经足够了,但是对于使用了共享库的程序的执行还是不够的。

这是因为为了加快程序执行时对共享库的定位速度,避免使用搜索路径查找共享库的低效率,所以是直接读取库列表文件 /etc/ld.so.cache 从中进行搜索的。

/etc/ld.so.cache 是一个非文本的数据文件,不能直接编辑,它是根据 /etc/ld.so.conf 中设置的搜索路径由
/sbin/ldconfig 命令将这些搜索路径下的共享库文件集中在一起而生成的(ldconfig 命令要以 root 权限执行)。

因此,为了保证程序执行时对库的定位,在 /etc/ld.so.conf 中进行了库搜索路径的设置之后,还必须要运行 /sbin/ldconfig 命令更新
/etc/ld.so.cache 文件之后才可以。

ldconfig ,简单的说,它的作用就是将
/etc/ld.so.conf列出的路径下的库文件缓存到/etc/ld.so.cache 以供使用。

因此当安装完一些库文件,(例如刚安装好glib),或者修改ld.so.conf增加新的库路径后,需要运行一下 /sbin/ldconfig使所有的库文件都被缓存到ld.so.cache中,如果没做,即使库文件明明就在/usr/lib下的,也是不会被使用的,结果编译过程中抱错,缺少xxx库,去查看发现明明就在那放着,搞的想大骂computer蠢猪一个。

在程序连接时,对于库文件(静态库和共享库)的搜索路径,除了上面的设置方式之外,还可以通过 -L 参数显式指定。

因为用 -L 设置的路径将被优先搜索,所以在连接的时候通常都会以这种方式直接指定要连接的库的路径。

前面已经说明过了,库搜索路径的设置有两种方式:在环境变量 LD_LIBRARY_PATH 中设置以及在 /etc/ld.so.conf 文件中设置。

其中,第二种设置方式需要 root 权限,以改变 /etc/ld.so.conf 文件并执行 /sbin/ldconfig 命令。

而且,当系统重新启动后,所有的基于 GTK2 的程序在运行时都将使用新安装的 GTK+ 库。

不幸的是,由于 GTK+ 版本的改变,这有时会给应用程序带来兼容性的问题,造成某些程序运行不正常。

为了避免出现上面的这些情况,在 GTK+ 及其依赖库的安装过程中对于库的搜索路径的设置将采用第一种方式进行。

这种设置方式不需要 root 权限,设置也简单:
$ export LD_LIBRARY_PATH=/opt/gtk/lib:$LD_LIBRARY_PATH
可以用下面的命令查看 LD_LIBRAY_PATH 的设置内容:
$ echo $LD_LIBRARY_PATH
至此,库的两种设置就完成了。

相关文档
最新文档