博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux设置动态库路径和环境变量
阅读量:6237 次
发布时间:2019-06-22

本文共 2504 字,大约阅读时间需要 8 分钟。

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

你可能感兴趣的文章
十招让Ubuntu 16.04用起来更得心应手
查看>>
awk笔记1
查看>>
Maven for Eclipse 第三章 ——创建和导入 Maven 项目
查看>>
js jquery中 的数据类型
查看>>
DenyHosts安装及配置
查看>>
表单多文件上传样式美化 && 支持选中文件后删除相关项
查看>>
利用Axis2默认口令安全漏洞可入侵WebService网站
查看>>
java-----基本数据类型包装类
查看>>
MD5 SHA-1 示例
查看>>
【WPF】退出应用时的提示弹窗
查看>>
Node.js - 断言
查看>>
缓存穿透,缓存雪崩,热点key及解决办法
查看>>
Nginx配置直接php
查看>>
android样式开发
查看>>
radio选择事件 onchange事件 onclick事件
查看>>
很清晰的解读i2c协议【转】
查看>>
荆慕瑶
查看>>
密码需要带特殊字符(二)
查看>>
10 advanced LotusScript tips
查看>>
InstallShield 2012 Spring新功能试用(21): 安装过程中可以在目标系统中创建和配置任务计划...
查看>>