当前位置: 首页 > news >正文

linux设置动态库路径和环境变量

linux安装源码编译出来的库后,如何让系统默认识别到,

如编译后安装在/usr/local/aarch64_qt5.12.0 下

1、设置动态库链接配置

如果不设置动态库连接,系统就找不到需要的*.so,导致软件执行失败。

可以ldd一下,如:

pi@NanoPi-NEO-Plus2:~$ ldd untitled
        linux-vdso.so.1 =>  (0x0000ffffba839000)
        libQt5Widgets.so.5 => not found
        libQt5Gui.so.5 => not found
        libQt5Core.so.5 => not found
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffba7e2000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffba653000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffba5a6000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffba585000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffba43e000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffffba80e000)

最笨的方法就是将编译出来对应的so 拷贝到/usr/lib或者/lib下,如果对应的so很多,那么就凉凉了。

设置方法:

1)在/etc/ld.so.conf.d路径下,创建动态库配置文件*.conf,例如:

sudo vim /etc/ld.so.conf.d/Qt5.conf

在文件中添加:

/usr/local/aarch64_qt5.12.0/lib

2)加载动态库配置

执行命令:sudo ldconfig

pi@NanoPi-NEO-Plus2:~$ ldd untitled
        linux-vdso.so.1 =>  (0x0000ffffa4b1a000)
        libQt5Widgets.so.5 => /usr/local/aarch64_qt5.12.0/lib/libQt5Widgets.so.5 (0x0000ffffa451d000)
        libQt5Gui.so.5 => /usr/local/aarch64_qt5.12.0/lib/libQt5Gui.so.5 (0x0000ffffa4039000)
        libQt5Core.so.5 => /usr/local/aarch64_qt5.12.0/lib/libQt5Core.so.5 (0x0000ffffa39ed000)
        libpthread.so.0 => /lib/aarch64-linux-gnu/libpthread.so.0 (0x0000ffffa39c1000)
        libstdc++.so.6 => /usr/lib/aarch64-linux-gnu/libstdc++.so.6 (0x0000ffffa3832000)
        libm.so.6 => /lib/aarch64-linux-gnu/libm.so.6 (0x0000ffffa3785000)
        libgcc_s.so.1 => /lib/aarch64-linux-gnu/libgcc_s.so.1 (0x0000ffffa3764000)
        libc.so.6 => /lib/aarch64-linux-gnu/libc.so.6 (0x0000ffffa361d000)
        libdl.so.2 => /lib/aarch64-linux-gnu/libdl.so.2 (0x0000ffffa360a000)
        /lib/ld-linux-aarch64.so.1 (0x0000ffffa4aef000)

2、设置环境变量

执行相关程序时,不需要切换到指定目录才能执行,可以在任意目录下执行。

设置方法:

  1.当前会话临时生效:命令行输入  export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

  2.用户永久生效:vi ~/.bashrc 最后一行输入  export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

          让环境变量生效:source .bashrc

  3.全局永久生效:

    在/etc/profile或者/etc/bash.bashrc 中为$PATH添加路径,如果名字一样 需要把新的路径放在其他路径前面。

     export PATH=$PATH:/usr/local/aarch64_qt5.12.0/bin

    让环境变量生效:source /etc/profile

pi@NanoPi-NEO-Plus2:~$ echo $PATH
/usr/local/aarch64_qt5.12.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games

 

转载于:https://www.cnblogs.com/releases/p/10218830.html

相关文章:

  • 小细节见实力,告诉你vivo Z3如何成为爆款千元机
  • 8分钟学会Consul集群搭建及微服务概念
  • 2019年Java和JVM生态系统预测:OpenJDK将成为Java运行时市场领导者
  • 天海实业携手海宇勇创签署战略合作协议
  • 机器学习可行性与VC dimension
  • 处理linux下面的mysql乱码问题(下面的utf8换成gb2312也是可以的)
  • Java常见设计模式之适配器模式
  • 免费 官方的ASP.NET MVC电子书-Professional ASP.NET MVC 1.0
  • ashx文件的使用[转]
  • Python备份目录及目录下的全部内容
  • MS CRM 2011 RetrieveMultiple with JScript JQuery Silverlight LINQ FetchXML and QueryExpression
  • 初识SOA
  • 需求:需求获取技术之原型
  • Windows Azure HandBook (4) 分析Windows Azure如何处理Session
  • 树莓派练习程序(声音检测)
  • EventListener原理
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • java8 Stream Pipelines 浅析
  • JavaScript对象详解
  • JavaScript类型识别
  • JDK 6和JDK 7中的substring()方法
  • Joomla 2.x, 3.x useful code cheatsheet
  • Linux快速配置 VIM 实现语法高亮 补全 缩进等功能
  • React组件设计模式(一)
  • SpiderData 2019年2月16日 DApp数据排行榜
  • webgl (原生)基础入门指南【一】
  • zookeeper系列(七)实战分布式命名服务
  • 阿里云应用高可用服务公测发布
  • 和 || 运算
  • 猫头鹰的深夜翻译:Java 2D Graphics, 简单的仿射变换
  • 浅谈JavaScript的面向对象和它的封装、继承、多态
  • 如何使用 JavaScript 解析 URL
  • 思否第一天
  • 线性表及其算法(java实现)
  • Mac 上flink的安装与启动
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • #mysql 8.0 踩坑日记
  • (1/2) 为了理解 UWP 的启动流程,我从零开始创建了一个 UWP 程序
  • (Arcgis)Python编程批量将HDF5文件转换为TIFF格式并应用地理转换和投影信息
  • (NO.00004)iOS实现打砖块游戏(九):游戏中小球与反弹棒的碰撞
  • (层次遍历)104. 二叉树的最大深度
  • (附源码)流浪动物保护平台的设计与实现 毕业设计 161154
  • (排序详解之 堆排序)
  • (一)SpringBoot3---尚硅谷总结
  • (转)http协议
  • .[hudsonL@cock.li].mkp勒索加密数据库完美恢复---惜分飞
  • .gitignore
  • .net 4.0发布后不能正常显示图片问题
  • .NET 反射 Reflect
  • .NET/C# 反射的的性能数据,以及高性能开发建议(反射获取 Attribute 和反射调用方法)
  • .netcore 如何获取系统中所有session_如何把百度推广中获取的线索(基木鱼,电话,百度商桥等)同步到企业微信或者企业CRM等企业营销系统中...
  • .Net中间语言BeforeFieldInit
  • .net专家(高海东的专栏)
  • .so文件(linux系统)
  • @angular/cli项目构建--http(2)