1、环境变量配置

一、临时设置

export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH

二、当前用户的全局设置
打开~/.bashrc,添加行:

export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH

使生效

source .bashrc

三、所有用户的全局设置

vim /etc/profile

在里面加入:

export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH

使生效

source profile

测试当前的环境变量;
测试 echo $PATH

2、动态库链接相关知识

1)linux下制作动态库时链接当前路径而不是系统目录的库
以自己编译双录动态库为例,因为系统自带ffmpeg库存在问题需链接自己编译的ffmpeg库,
配置命令为:

g++ cmanager.cpp DoubleRecord.cpp MBCamera.cpp -g -std=c++11 -fPIC -L. -Wl,-rpath . -shared -o libDesktopRecordSO_shared.so -I/home/zw/Desktop/zw/TestDoubleRecord/include -lz -llzma -lm -lbz2 -lasound -lxcb -lssl -lavformat -lavcodec -lavutil -lx264 -lswresample -lswscale -lzlog

关键在于 -Wl,-rpath . 为程序添加一个运行时库文件搜索路径的命令,在使用gcc编译链接时添加即可
详细可自行百度参考:https://blog.csdn.net/weixin_37139197/article/details/78736291

2)Linux下动态库路径搜索设置
以自己编译双录动态库为例,在外部使用的适合需要将改库的路径配置的配置文件中否则会寻找不到

sudo vi /etc/ld.so.conf 将想要包含的动态库路径放里面
sudo ldconfig 将设置同步到系统上(此时还会创建一些软链接),注意设置之后ldd查看调用动态库寻找的时候最好关闭命令并重新打开
动态库多依赖库(需要使用动态库需要链接的动态库) LD_Library_PATH 使用相对路径 -rpath .属性 libswresample.so.3 => ./libswresample.so.3

3)查看动态库链接库的命令

ldd xx.so

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐