• linux命令学习:PATH and LDFLAGS and CFLAGS


    CFLAGS 表示用于 C 编译器的选项,
    CXXFLAGS 表示用于 C++ 编译器的选项。
    这两个变量实际上涵盖了编译和汇编两个步骤。

     

     

    先来看几个相关的环境变量:PATH、LDFLAGS、CFLAGS

    PATH:大家应该都非常熟悉。安装一个包后可能会在安装文件夹建立一个bin文件夹,里面都是些可执行程序,为了让系统能找到这些程序,就须要我们把该路径增加到PATH环境变量中。以下会讲到怎样增加。

    LDFLAGS:gcc等编译器会用到的一些优化參数,也能够在里面指定库文件的位置。使用方法:LDFLAGS=“-L/usr/lib -L/path/to/your/lib”。

    每安装一个包都差点儿一定的会在安装文件夹里建立一个lib文件夹。假设你明明安装了某个包,而安装还有一个包时。它愣是说找不到。那就把那个包的lib路径增加的LDFALGS中试一下吧。

    CFLAGS:和LDFLAGS相似,只只是要向里加如的是头文件(.h文件)的路径。如:CFLAGS=“-I/usr/include -I/path/to/your/include”。相同地。安装一个包时会在安装路径下建立一个include文件夹,当安装过程中出现故障时。试着把曾经安装的包的include文件夹增加到该变量中来。

    LIBS:告诉链接器要链接哪些库文件,如LIBS = -lpthread -liconv

    简单地说。LDFLAGS是告诉链接器从哪里寻找库文件。而LIBS是告诉链接器要链接哪些库文件。只是使用时链接阶段这两个參数都会加上,所以你即使将这两个的值互换,也没有问题。

    有时候LDFLAGS指定-L尽管能让链接器找到库进行链接,可是执行时链接器却找不到这个库,假设要让软件执行时库文件的路径也得到扩展,那么我们须要增加这两个库给"-Wl,R":


    export C_INCLUDE_PATH="/mnt/toolchain/lin32/beecrypt-4.1.2/include" 

    export LDFLAGS="-L/mnt/toolchain/lin32/beecrypt-4.1.2 "

    export CPLUS_INCLUDE_PATH="~/local/include"

    export  LD_LIBRARY_PATH="/usr/bin"

    ./configure

    那怎样在那些变量中增加这些路径呢?以PATH变量为例。
    一种方法是:直接在命令行下:
    $ PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
    $ export PATH
    这样的方法的优点是方便,马上生效,缺点是把当前会话或shell关了之后就失效了,下次还得执行一遍。

    还有一种方法是:把以下的两行内容增加到~/.bashrc文件里,假设想让其影响到整个系统而不只是当前用户,就把以下的内容增加到/etc/bash.bashrc(记得有的系统是/etc/bashrc这个文件)
    PATH and LDFLAGS and CFLAGS - Bob - 黄宝的博客PATH="$PATH:/path/to/your/bin:/another/path/to/bin"
    PATH and LDFLAGS and CFLAGS - Bob - 黄宝的博客export PATH

    然后,又一次启动shell就可以。

    须要注意的是,PATH变量的分隔符是:号,其它的是空格,
    所以LDFLAGS应该是这样:
    LDFLAGS=“$LDFLAGS -L/path/to/lib -L/path/to/lib”
    CFLAGS应该是这样:
    CFLAGS=“$CFLAGS -I/path/to/iclude -I/path/to/include”

  • 相关阅读:
    PHP工具下载地址
    Eclipse开发PHP环境配置
    Windows下搭建PHP开发环境
    无插件Vim编程技巧
    mvn详解
    Python读写文件
    python 大文件以行为单位读取方式比对
    insert时出现主键冲突的处理方法【转载】
    Python机器学习——线性模型
    机器学习算法与Python实践之(七)逻辑回归(Logistic Regression)
  • 原文地址:https://www.cnblogs.com/ldxsuanfa/p/10752552.html
  • Copyright © 2020-2023  润新知