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

《转:http://www.cnblogs.com/image-eye/archive/2011/08/20/2147133.html》

对所有用户有效在/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

 再执行ldconfig, 即可

需 要注意的是:第二种搜索路径的设置方式对于程序连接时的库(包括共享库和静态库)
的定位已经足够了,但是对于使用了共享库的程序的执行还是不够的。这是因为为了加快程序执行时对共享库的定位速度,避免使用搜索路径查找共享库的低效率,
所以是直接读取库列表文件 /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

至此,库的两种设置就完成了。

时间: 2025-01-03 08:15:39

Linux添加环境变量与GCC编译器添加INCLUDE与LIB环境变量的相关文章

Linux上安装GCC编译器过程_unix linux

2004年4月20日最新版本的GCC编译器3.4.0发布了.目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.GCC 3.4.0比以前版本更好地支持了C++标准.本文以在Redhat Linux上安装GCC3.4.0为例,介绍了GCC的安装过程. 安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器.如果系统上没有编译器,不能安装源代码形式的GCC 3.4.0.如果是这种情况,可

Linux上安装GCC编译器过程

2004年4月20日最新版本的GCC编译器3.4.0发布了.目前,GCC可以用来编译C/C++.FORTRAN.JAVA.OBJC.ADA等语言的程序,可根据需要选择安装支持的语言.GCC 3.4.0比以前版本更好地支持了C++标准.本文以在Redhat Linux上安装GCC3.4.0为例,介绍了GCC的安装过程. 安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器.如果系统上没有编译器,不能安装源代码形式的GCC 3.4.0.如果是这种情况,可

arm版本gcc gcc移植-如何把gcc编译器做成arm版本,本人要在arm环境下搭建编译平台,,,!!!急!!!

问题描述 如何把gcc编译器做成arm版本,本人要在arm环境下搭建编译平台,,,!!!急!!! 求大神 帮帮小弟 本人要在arm环境下搭建完整的编译环境,有没有人做过 啊 急 arm板:tiny6410,移植好的内核Linux FriendlyARM 2.6.38 红帽主机系统,交叉编译环境:arm-linux-gcc-4.5.1 现要将gcc-4.0.2 (或更高版本)做成arm版, 就是要将gcc-4.0.2移植到arm版本上 有谁有类似经历 分享下经验 大致介绍下复杂度 谢了 本人菜鸟一

Linux中文化之炎黄中文平台输入法添加

在炎黄中文平台上,用户可以自行添加输入法.炎黄中文平台的输入部分的程序设计使用了一个主导模块作为和平台的接口,它和各输入法模块之间采用统一的.规范的界面.各个输入法可看作是一个个过滤,输入ASCII码,返回得到的汉字. 输入法的主导模块以动态连接库(libimpi.a)的形式存在,和各输入法模块连接成单独的可执行文件.对于每一个具体的输入法,只需要按照一定的数据结构就可以链接成为新的可执行文件,并且添加到炎黄中文平台上.这些数据结构包括外部变量和外部函数. 1.外部变量 数组extcode[]:

十天学Linux内核之第九天---向内核添加代码

原文:十天学Linux内核之第九天---向内核添加代码 睡了个好觉,很晚才起,好久没有这么舒服过了,今天的任务不重,所以压力不大,呵呵,现在的天气真的好冷,不过实验室有空调,我还是喜欢待在这里,有一种不一样的感觉,在写了这么多天之后,自己有些不懂的页渐渐的豁然开朗了吗,而且也交到了一些朋友,真是相当开心啊.今天将介绍一下向内核中添加代码,一起来看看吧~ 先来熟悉一下文件系统,通过/dev可以访问Linux的设备,我们以men设备驱动程序为例来看看随机数是如何产生的,源代码在dirvers/cha

在SUN Solaris上安装GCC编译器

GCC是GNU组织的免费C编译器,Linux的很多发布缺省安装的就是这种.很多流行的自由软件原代码基本都能在GCC编译器下编译运行. 虽然GCC有很多平台(操作系统)的版本,一般商业UNIX系统是不安装GCC的,要想在这些操作系统上使用GCC,就必须自己动手安装.下面主要介绍在SUN Solaris操作系统中获取GCC,安装和调试步骤. 1 取得针对操作系统和操作系统版本保持一致的GCC软件,如果你要在Solaris 2.5.1上使用GCC,要取得相映的GCC ftp://ftp.cdit.ed

Visual Studio 2008 、 Windows 环境变量介绍 和 如何在文件中引用环境变量 .

Visual Studio 2008  和 Windows 环境变量对设置 相对路径很重要,这样便于代码的移植,即使换一台计算机,代码不用更改配置,直接就能用. 可以在项目的"工具""属性页"对话框中任何接受字符串的位置使用这些宏.这些宏不区分大小写.  关于如何自己定义环境变量详见我的另一文章:http://blog.csdn.net/jtop0/article/details/7574139     宏 说明 $(RemoteMachine) 在"调试

转 vi 编辑器,gcc 编译器的使用

 vi编辑器是我们在linux下经常使用的文本编辑器,这个东西也是专门为程序员准备的,基本上每个Unix和Linux系统都为我们提供了这个软件,我们可以使用vi来编写我们的代码.在vi编辑器下所有操作都必须通过键盘和特定的快捷键组合来完成,刚开始学习的新手会感觉不太容易,但是这个东西很重要,我们先来学习如何使用它,掌握了这个东西去面试的时候也算是一门技能.而vim是vi的增强版,新增加了很多功能. 在shell下输入命令vi 文件名,例如:vi first.c,就开始编辑first.c文件了.v

windows下安装,配置gcc编译器

在Windows下使用gcc编译器: 1.首先介绍下MinGW   MinGW是指只用自由软件来生成纯粹的Win32可执行文件的编译环境,它是Minimalist GNU on Windows的略称. 实际上 MinGW 并不是一个 单纯的C/C++ 编译器,而是一套 GNU 工具集合.除开 GCC 以外,MinGW 还包含有一些其他的 GNU 程序开发工具 (比如 gawk bison 等等). 开发 MinGW 是为了那些不喜欢工作在 Linux(FreeBSD) 操作系统而留在 Windo