linux 查看环境变量, 设置系统环境变量,设置链接的动态库,及bin文件路径

1,050 阅读1分钟
  • 查看环境变量
    这个变量可以是被gcc命令引用的变量
    g++ -g -o ConnectSpecCamera ConnectSpecCamera.cpp -I../../../include -Wl,-rpath=$(MVCAM_COMMON_RUNENV)/aarch64 -L$(MVCAM_COMMON_RUNENV)/aarch64 -lMvCameraControl -lpthread
    那么打印出来就是下面,从此可用看这个变量具体的路径

    echo $MVCAM_COMMON_RUNENV
    
  • 设置加载的动态库

    • 一, 推荐(将.so所在的路径添加进系统搜索路径)
      查看链接配置文件,有以下反馈(若没有该文件,或没有该内容,则添加该文件,及该内容)

      root@NanoPi-M4v2:~# cat /etc/ld.so.conf
      include /etc/ld.so.conf.d/*.conf
      

      进入存放.conf文件的目录

      cd /etc/ld.so.conf.d
      

      编辑.conf文件, 并将.so所在的目录编辑进该文件(如下是内容)

      root@NanoPi-M4v2:/etc/ld.so.conf.d# cat LBAS.conf
      /opt/LBAS/lib/aarch64
      /opt/LBAS/bin
      

      更新

      sudo ldconfig
      
    • 二, 修改配置文件/etc/profile中的环境变量,这个挺有意思的,有个自定义的变量MVCAM_COMMON_RUNENV,是安装LBAS时添加的,自己也可以学到用这种方式,起到.pc文件的作用
      勘误,实际是修改/etc/bash.bashrc~/.bashrc文件,前面这么写是之前的无效的东西

      • 所有用户
        sudo vim /etc/bash.bashrc (推荐 亲测有效) 或者 sudo vim /etc/profile
      • 某用户的环境变量配置文件
        vim ~/.bashrc(推荐 亲测有效) 或者 vim ~/.profile
      # 查看
      # 这个才是有效的,推荐
      cat /etc/bash.bashrc  
      # 对 profile 文件的操作实际无效
      cat /etc/profile
      # 反馈          
      export MVCAM_COMMON_RUNENV=/opt/LBAS/lib
      export LD_LIBRARY_PATH=/opt/LBAS/lib/aarch64:$LD_LIBRARY_PATH
      export PATH=$PATH:/opt/cmake-3.20.5-linux-aarch64/bin
      

      注意(对以上分析,可看出两个系统变量;bin环境变量,及LD_LIBRARY_PATH)

      LD_LIBRARY_PATH是系统的.so链接目录
      PATH是系统的bin文件目录
      分别对两者进行追加的语法,:起到分割符的作用 将它写进profile文件就是永久生效,命令行操作就是暂时的
      注意, = 两边不能有空格
      每项 : 间隔开, = 赋给变量, 变量取值用 $
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[追加的路径]

      # = 两边不能有空格
      # 追加.so链接目录
      export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:[追加的路径]
      # 追加bin的执行目录
      export PATH=$PATH:/opt/cmake-3.20.5-linux-aarch64/bin      
      

      更新

      # 推荐  
      source /etc/bash.bashrc    
      source /etc/profile
      
  • bin文件添加到系统变量,以上方法二,编辑/etc/profile文件已示出