Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
- 格式:doc
- 大小:30.50 KB
- 文档页数:2
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系统中,每个进程都有自己的环境变量集合。
环境变量由一对键值对组成,键值对以等号("=")分隔。
例如,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环境变量对所有⽤户有效在/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编译选项和环境变量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 环境变量指的是库文件的搜索路径。
在编译和运行程序的过程中,有时需要指定特定的库文件路径,这时就需要设置 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环境变量配置在⾃定义安装软件的时候,经常需要配置环境变量,下⾯列举出各种对环境变量的配置⽅法。
下⾯所有例⼦的环境说明如下:系统: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下,如果一个应用程序的安装路径不为/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命令的详细解释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可执行文件。
linux添加环境变量4种方法
一、需要明白以下2点:
1、Linux的环境变量是保存在变量PATH中,可通过Linux shell 命令 echo $PATH 查看输出内容,或者直接输入export查看。
2、Linux环境变量值之间是通过冒号进行隔开的( : )
格式为:PATH=$PATH:<PATH 1>:<PATH 2>:<PATH 3>:------:<PATH N>
二、暂时的添加环境变量PATH:
可通过export命令,如
export PATH=/usr/local/nginx/sbin/:$PATH,将/usr/local/nginx/sbin/目录临时添加到环境变量中
三、为当前用户永久添加环境变量:
编辑 .bashrc 文件 vim ~/.bashrc
文件末尾添加:export PATH="/usr/local/nginx/sbin/:$PATH"
source ~/.bashrc
四、为所有用户永久添加某一环境变量:
编辑 /etc/profile 文件 vim /etc/profile
文件末尾添加:export PATH="/usr/local/nginx/sbin/:$PATH"
source /etc/profile
五、/etc/environment 下面添加,
打开 /etc/environment ,在最后添加,运行下面2条命令。
sudo vi /etc/environment
source /etc/environment。
Linux下编译clang、libcxx及其相关库——C++11环境搭建⼀、编译llvm(同时编译compiler-rt和clang)1、下载llvm代码:svn co /svn/llvm-project/llvm/trunk llvm2、进⼊llvm/tools⽬录,下载clang编译器代码:cd llvm/toolssvn co /svn/llvm-project/cfe/trunk clang3、进⼊llvm/projects⽬录,下载Compiler-RT代码:cd ../.. (back to where you started)cd llvm/projectssvn co /svn/llvm-project/compiler-rt/trunk compiler-rt4、在llvm所在⽬录新建与llvm同⼀级的⽬录build,在其中构建llvm和clang:cd ../.. (back to where you started)mkdir build (for building without polluting the source dir)cd build../llvm/configuremake【说明】:⾄此,设置环境变量后,clang及clang++就可以使⽤了,但如果你还想使⽤clang++ + libcxx模式,那么请接着下⾯的步骤接着编译libcxx和libcxxabi。
⼆、使⽤clang++编译libcxx和libcxxabi1、下载libcxx和libcxxabi代码:svn co /svn/llvm-project/libcxx/trunk libcxxsvn co /svn/llvm-project/libcxxabi/trunk libcxxabi2、进⼊libcxx/lib⽬录进⾏编译:./buildit【说明】:如果要⽤libcxx + libcxxabi的组合替换掉libstdc++,需要将buildit⽂件中的-lstdc++选项去掉。
详解Linux安装GCC⽅法下载:浏览:查看Changes:现在很多程序员都应⽤GCC,怎样才能更好的应⽤GCC。
⽬前,GCC可以⽤来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语⾔的程序,可根据需要选择安装⽀持的语⾔。
本⽂以在Redhat Linux安装GCC4.1.2为例(因在项⽬开发过程中要求使⽤,没有⽤最新的GCC版本),介绍Linux安装GCC过程。
安装之前,系统中必须要有cc或者gcc等编译器,并且是可⽤的,或者⽤环境变量CC指定系统上的编译器。
如果系统上没有编译器,不能安装源代码形式的GCC 4.1.2。
如果是这种情况,可以在⽹上找⼀个与你系统相适应的如RPM等⼆进制形式的GCC软件包来安装使⽤。
本⽂介绍的是以源代码形式提供的GCC软件包的安装过程,软件包本⾝和其安装过程同样适⽤于其它Linux和Unix系统。
系统上原来的GCC编译器可能是把gcc等命令⽂件、库⽂件、头⽂件等分别存放到系统中的不同⽬录下的。
与此不同,现在GCC建议我们将⼀个版本的GCC安装在⼀个单独的⽬录下。
这样做的好处是将来不需要它的时候可以⽅便地删除整个⽬录即可(因为GCC没有uninstall功能);缺点是在安装完成后要做⼀些设置⼯作才能使编译器⼯作正常。
在本⽂中采⽤这个⽅案安装GCC 4.1.2,并且在安装完成后,仍然能够使⽤原来低版本的GCC编译器,即⼀个系统上可以同时存在并使⽤多个版本的GCC编译器。
按照本⽂提供的步骤和设置选项,即使以前没有安装过GCC,也可以在系统上安装上⼀个可⼯作的新版本的GCC编译器。
1 下载在GCC⽹站上()或者通过⽹上搜索可以查找到下载资源。
⽬前GCC的最新版本为 4.2.1。
可供下载的⽂件⼀般有两种形式:gcc-4.1.2.tar.gz和gcc-4.1.2.tar.bz2,只是压缩格式不⼀样,内容完全⼀致,下载其中⼀种即可。
2. 解压缩拷贝gcc-4.1.2.tar.bz2(我下载的压缩⽂件)到/usr/local/src(根据⾃⼰喜好选择)下,根据压缩格式,选择下⾯相应的⼀种⽅式解包(以下的“%”表⽰命令⾏提⽰符):% tar zxvf gcc-4.1.2.tar.gz或者% bzcat gcc-4.1.2.tar.bz2 | tar xvf -新⽣成的gcc-4.1.2这个⽬录被称为源⽬录,⽤${srcdir}表⽰它。
如何在Linux系统中安装编译器Linux系统是一款优秀的开源操作系统,被广泛应用于各种领域。
如果你想要在Linux系统中进行编程开发工作,首先需要安装一个编译器。
本文将介绍如何在Linux系统中安装编译器的步骤和方法。
在Linux系统中,常用的编译器有C/C++编译器和Java编译器。
下面将以这两种编译器为例,详细介绍它们的安装步骤。
第一步:打开终端在Linux系统中,我们需要通过终端来执行命令。
终端是与系统直接交互的工具,类似于Windows系统中的命令提示符。
你可以通过键盘快捷键Ctrl+Alt+T来打开终端窗口。
第二步:更新软件源列表在安装任何软件之前,我们都需要更新系统的软件源列表。
软件源列表包含了系统可供下载和安装的软件包信息。
在终端中执行以下命令来更新软件源列表:```sudo apt update```该命令会向系统的软件源服务器发送请求,从而获取最新的软件包信息。
第三步:安装C/C++编译器在Linux系统中,常用的C/C++编译器是GNU编译器套装(GCC)。
执行以下命令来安装GCC编译器:```sudo apt install build-essential```该命令会下载并安装GCC编译器及其相关组件。
安装完成后,你就可以在终端中使用gcc和g++命令来编译C/C++程序了。
第四步:安装Java编译器在Linux系统中,我们可以使用OpenJDK或者Oracle JDK作为Java编译器。
以下是安装OpenJDK和Oracle JDK的步骤。
安装OpenJDK:执行以下命令来安装OpenJDK:```sudo apt install default-jdk```该命令会下载并安装OpenJDK编译器及其相关组件。
安装完成后,你可以在终端中使用javac命令来编译Java程序。
安装Oracle JDK:如果你需要使用Oracle JDK编译器,你可以按照以下步骤进行安装:1. 打开Oracle官方网站,并下载适合你系统的Oracle JDK安装包(以tar.gz或者.deb为扩展名)。
Linux-配置环境变量的⼏种⽅式环境变量配置⽂件⽤户环境变量配置⽂件所有⽤户/ect/profile /etc/bashrc /etc/environmentroot~/.bashrc ~/.bash-profile⾮root⽤户/home/⾮root⽤户名/.bashrc/ect/profile/etc/bashrc/etc/environmentroot~/.bashrc~/.bash-profile⾮root⽤户 /home/⾮root⽤户名/.bashrc更新环境变量source /etc/profileor. /etc/profile 环境变量配置⽅式Linux读取环境变量读取系统已有环境变量的⽅法export 显⽰当前系统定义的所有环境变量echo $PATH 输出当前的PATH环境变量的值PATH 变量定义的是运⾏命令的查找路径,以冒号:分割不同的路径⽅式⼀: export PATHexport PATH=/usr/local/src/python3/bin:$PATH# 或者把PATH放在前⾯export PATH=$PATH:/usr/local/src/python3/bin注意点⽣效时间:⽴即⽣效⽣效期限:当前打开的终端有效,窗⼝关闭后⽆效⽣效范围:当前登录⽤户需要加上$PATH,否则会覆盖原有路径⽅式⼆: vim ~/.bashrcvim ~/.bashrc# 在最后⼀⾏加上注意点⽣效时间:使⽤相同的⽤户打开新的终端时⽣效,或者⼿动⽣效source ~/.bashrc⽣效期限:永久有效⽣效范围:当前登录⽤户可能会被后续的环境变量⽂件覆盖了PATH的值⽅式三: vim ~/.bash_profilevim ~/.bash_profile# 在最后⼀⾏加上注意点⽣效时间:使⽤相同的⽤户打开新的终端时⽣效,或者⼿动⽣效source ~/.bash_profile⽣效期限:永久有效⽣效范围:当前登录⽤户如果没有⽂件,则可以编辑 ~/.profile ⽂件或者新建⼀个~/.bash_profile⽅式四: vim /etc/bashrc# 如果/etc/bashrc⽂件不可编辑,需要修改为可编辑chmod -v u+w /etc/bashrcvim /etc/bashrc# 在最后⼀⾏加上export PATH=$PATH:/usr/local/src/python3/bin注意点⽣效时间:使⽤相同的⽤户打开新的终端时⽣效,或者⼿动⽣效source /etc/bashrc⽣效期限:永久有效⽣效范围:所有⽤户⽅式五: vim /etc/profile# 如果/etc/profile⽂件不可编辑,需要修改为可编辑chmod -v u+w /etc/profilevim /etc/profile# 在最后⼀⾏加上export PATH=$PATH:/usr/local/src/python3/bin注意点⽣效时间:使⽤相同的⽤户打开新的终端时⽣效,或者⼿动⽣效source /etc/profile⽣效期限:永久有效⽣效范围:所有⽤户⽅式六: vim /etc/environment# 如果/etc/bashrc⽂件不可编辑,需要修改为可编辑chmod -v u+w /etc/environmentvim /etc/profile# 在最后⼀⾏加上export PATH=$PATH:/usr/local/src/python3/bin注意点⽣效时间:使⽤相同的⽤户打开新的终端时⽣效,或者⼿动⽣效source /etc/environment⽣效期限:永久有效⽣效范围:所有⽤户环境变量加载原理解析思考:上述六种环境变量的配置⽅式, Linux是按什么顺序加载的呢?是否会相互覆盖相同的环境变量呢?环境变量的分类⽤户级别环境变量配置⽂件:~/.bashrc~/.profile(centos7 ⽆)~/.bash_profile/home/⾮root⽤户名/.bashrc系统级别环境变量配置⽂件:/etc/bashrc/etc/profile(centos7 ⽆)/etc/bash_profile/etc/environment环境变量加载顺序1. /etc/environment2. /etc/profile3. /etc/bashrc4. ~/.profile5. ~/.bashrc。
ubuntu操作系统中查看和添加环境变量linux中环境变量及环境变量配置⽂件详解ubuntu操作系统中查看和添加环境变量前⾔在Linux操作系统中,程序运⾏离不开环境变量的设置。
添加环境变量通常使⽤ export 指令,使⽤ export 指令时要注意不要覆盖原有指令。
使⽤ export 指令之前可以先查看下环境变量中已经存在的条⽬。
查看环境变量echo ${PATH}结果如下:查看Python环境变量echo ${PYTHONPATH}结果如下:添加程序路径⾄环境变量例如:我们配置了caffe框架,准备使⽤caffe的Python接⼝,想要不受当前路径的约束,随意使⽤Python接⼝,就得把caffe的Python⽬录添加到PYTHONPATH这条变量下,⼜知Linux操作系统进⼊桌⾯后,打开shell之后会⾃动加载~/.bashrc ⽂件,因此我们要把添加环境变量的操作放到~/.bashrc ⽂件中即可。
⽅法向⽂件中添加内容有两种⽅法,第⼀种:# 使⽤gedit编辑器打开~/.bashrc⽂件sudo gedit ~/.bashrc# 在⽂件末尾添加命令export PYTHONPATH=$PYTHONPATH:/home/jhm/caffe/python# 保存退出source ~/.bashrc第⼆种:# 追加写⼊echo"export CAFFE_ROOT=/home/jhm/caffe" >> ~/.bashrcecho"export PYTHONPATH=${CAFFE_ROOT}/python:$PYTHONPATH" >> ~/.bashrc# source⼀下,⽴即⽣效source ~/.bashrc之后我们查看Python路径,看到已经有了/home/jhm/caffe/python条⽬:echo ${PYTHONPATH}#/home/jhm/caffe/python:/home/jhm/mxnet/python:linux中环境变量及环境变量配置⽂件详解前⾔环境变量:定义每个⽤户的操作环境1. Source命令:修改配置⽂件后,必须注销重新登录才能⽣效,使⽤source命令后,⽴即⽣效环境变量配置⽂件;命令如下:source 配置⽂件或者 . 配置⽂件2. 环境变量配置⽂件简介:环境变量配置⽂件中主要是定义对系统操作环境⽣效的系统默认环境变量,如PATH等;PATH、HISTSIZE、PS1、HOSTNAME等环境变量写⼊对应的环境变量配置⽂件;3. 常见的环境变量:1. /etc/profile2. /etc/profile.d/*.sh3. ~/.bash_profile4. ~/.bashrc5. /etc/bashrc注:放在家⽬录(3,4)下的环境变量配置⽂件,只会对当前⽤户起作⽤;在/etc下的环境变量所有的⽤户都起作⽤;环境变量配置⽂件的功能系统正常启动过程的环境变量的启动先向下⾛,在向右⾛;在其他⽤户下切换⽤户的过程先向下,然后再向右;⼀. /etc/profile的作⽤1. USER变量:2. LOGNAME变量:3. MAIL变量:4. PATH变量:5. HOSTNAME变量:6. HISTSIZE变量:7. umask:8. 调⽤/etc/profile.d/*.sh⽂件⼆. umask #查看系统默认权限1. ⽂件最⾼权限为6662. ⽬录最好权限为7773. 权限不能使⽤数字进⾏换算,⽽必须使⽤字母;使⽤的是最⾼权限丢点默认的权限;Eg:当前默认权限为022,那么创建的⽂件权限就是最⾼权限减去默认权限:wr-wr-wr- 减去 ----w--w- 那么创建的⽂件权限默认为wr--r--r-4. Umask定义的权限,是系统默认权限中准备丢弃的权限如022,也就是----w—w-三.~/.bash_profile的作⽤1.调⽤了~/.bashrc ⽂件2.在PATH变量后⾯加⼊了”:$HOME/bin”这个⽬录四./etc/bashrc的作⽤1.PS12.umask3.PATH变量4.调⽤/etc/profile.d/*.sh⽂件。
编译环境变量
编译环境变量是指在编译程序时所需要的一些环境变量,它们可以影响编译器的行为,从而改变编译的结果。
常见的编译环境变量包括:
1. PATH:指定系统搜索执行文件的路径,如编译器、链接器等。
2. C_INCLUDE_PATH:指定C语言头文件的搜索路径。
3. CPLUS_INCLUDE_PATH:指定C++语言头文件的搜索路径。
4. LIBRARY_PATH:指定库文件的搜索路径。
5. LD_LIBRARY_PATH:指定动态链接库的搜索路径。
6. CC:指定C语言编译器的路径。
7. CXX:指定C++语言编译器的路径。
8. CPPFLAGS:指定编译器的预处理器选项。
9. CFLAGS:指定C语言编译器的编译选项。
10. CXXFLAGS:指定C++语言编译器的编译选项。
编译环境变量的设置可以在命令行中直接指定,也可以在脚本中设置。
正确设置编译环境变量可以避免编译错误,提高程序的可移植性和稳定性。
- 1 -。
linux交叉编译环境搭建步骤正文:在进行Linux交叉编译之前,我们需要先搭建好相应的交叉编译环境。
下面是搭建步骤的详细说明:步骤一:安装必要的软件包首先,我们需要安装一些必要的软件包,包括GCC、binutils、glibc 以及交叉编译工具链等。
可以通过包管理器来安装这些软件包,比如在Ubuntu上可以使用apt-get命令,CentOS上可以使用yum命令。
步骤二:下载交叉编译工具链接下来,我们需要下载相应的交叉编译工具链。
可以从官方网站上下载已经编译好的工具链,也可以通过源码自行编译得到。
下载好之后,将工具链解压到一个目录下。
步骤三:配置环境变量为了方便使用交叉编译工具链,我们需要将其添加到系统的环境变量中。
可以通过编辑.bashrc文件来实现,添加类似下面的内容:```shellexport CROSS_COMPILE=/path/to/cross-compiler/bin/arm-linux-export ARCH=arm```其中,/path/to/cross-compiler是你下载的交叉编译工具链的路径。
步骤四:测试交叉编译环境在配置好环境变量之后,我们可以通过简单的测试来验证交叉编译环境是否搭建成功。
比如,可以尝试编译一个简单的Hello World程序,并在目标平台上运行。
步骤五:编译其他软件当交叉编译环境搭建成功,并且测试通过之后,我们就可以使用这个环境来编译其他的软件了。
比如,可以使用交叉编译工具链来编译Linux内核、U-Boot引导程序、驱动程序等。
总结:搭建Linux交叉编译环境是进行嵌入式开发的基础工作之一。
在搭建好环境之后,我们可以使用交叉编译工具链来编译适配于目标平台的软件,从而实现在开发主机上进行开发和调试的目的。
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
至此,库的两种设置就完成了。