常用环境变量

编译时

  • CC:C 语言编译器的路径。

    export CC="/usr/bin/gcc"
    
  • CXX:C++ 编译器的路径。

    export CXX="/usr/bin/g++"
    
  • CPATH:编译器查找头文件的附加路径。

    export CPATH="/usr/local/include:$CPATH"
    

    此外,还有 C_INCLUDE_PATH 用于指定 C 语言编译器查找头文件的路径,以及 CPLUS_INCLUDE_PATH 用于指定 C++ 语言编译器查找头文件的路径。

  • LIBRARY_PATH:编译器查找库文件的附加路径。(不建议使用,建议用 LDFLAGS 替换)

    export LIBRARY_PATH="/usr/local/lib:$LIBRARY_PATH"
    
  • LIBS:需要链接的库文件。

    export LIBS="-lm -lpthread"  # 链接数学和线程库
    
  • CPPFLAGS:预处理器(C Preprocessor)选项(预处理器标志)。常用 -I 选项设置头文件(.h)搜索路径。

    export CPPFLAGS="-I/usr/local/include $CPPFLAGS"
    
  • CFLAGS:C 语言编译器的附加编译选项(编译器标志)。

    export CFLAGS="-Wall -std=gnu11 $CFLAGS"
    
  • CXXFLAGS:C++ 语言编译器的附加编译选项。

    export CXXFLAGS="-std=c++11 $CXXFLAGS"
    
  • LDFLAGS:链接器(ld)的附加选项(链接器标志)。常用 -L 选项设置库文件(.a.so)搜索路径。

    export LDFLAGS="-L/usr/local/lib $LDFLAGS"
    
  • LD_RUN_PATH:用于在编译阶段设置可执行文件的 RPATH

    export LD_RUN_PATH="/usr/local/lib:$LD_RUN_PATH"
    

运行时

  • PATH:操作系统寻找可执行文件的搜索路径。

    export PATH="/usr/local/bin:$PATH"
    
  • LD_LIBRARY_PATH:动态链接器寻找动态链接库(.so 文件)的搜索路径。

    export LD_LIBRARY_PATH="/usr/local/lib:$LD_LIBRARY_PATH"
    

    参考:Why LD_LIBRARY_PATH is bad | XahLee.info

  • PKG_CONFIG_PATH⁠pkg-config 程序查找 ⁠.pc 文件的路径

    export PKG_CONFIG_PATH="/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH"
    

其他

  • MANPATH:指定手册页的搜索路径。

    export MANPATH="/usr/local/share/man:$MANPATH"
    
  • INFOPATH:指定 ⁠info 文档的搜索路径。

    export INFOPATH="/usr/local/share/info:$INFOPATH"
    

常用

export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
export CPPFLAGS="-I/opt/homebrew/opt/llvm/include"
export LDFLAGS="-L/opt/homebrew/opt/llvm/lib"
posted @ 2024-11-08 19:16  Undefined443  阅读(42)  评论(0)    收藏  举报