Ubuntu指定库的编译安装路径

编译安装过程

规划安装路径

将编译源码得到的程序资源安装到用户目录 /home/muke/myuser下。

 ./configure --prefix=/home/muke/myuser

则安装后,/home/muke/myuser 目录下会多出 bin、include、lib、share 等目录
配置环境变量
编辑 /etc/profile,添加如下几行:

export PATH=/home/muke/myuser/bin:$PATH
export LIBRARY_PATH=/home/muke/myuser/lib:/home/muke/myuser/lib64:$LIBRARY_PATH
export PKG_CONFIG_PATH=/home/muke/myuser/lib/pkgconfig:$PKG_CONFIG_PATH
export C_INCLUDE_PATH=/home/muke/myuser/include:$C_INCLUDE_PATH

上述几个环境变量是程序编译时需要用到的库文件、头文件路径,以及可执行程序所在路径。
在命令行中运行如下命令,使新设置的环境变量立即生效:

source /etc/profile

配置动态库路径
编辑 /etc/ld.so.conf,添加如下两行:

/home/muke/myuser/lib
/home/muke/myuser/lib64

ld.so.conf 中的内容是程序运行时需要搜索的动态库路径。
在命令行中运行如下命令,使新设置的动态库路径立即生效:

ldconfig

上面我们编译完了FFMPEG之后可以去运行以下bin目录下生成的可执行文件

~/tmp/ffmpeg/ffmpeg/host/bin$ ./ffmpeg 
./ffmpeg: error while loading shared libraries: libavdevice.so.57: cannot open shared object file: No such file or directory

发现系统提示找不到动态库,可以用

ldd ffmpeg

应该有很多人和我一样,不想编译FFMPEG之后还要动自己系统的环境,这时有一个简单的方法可以解决这个问题。就是在当前终端export一个环境变量。

~/tmp/ffmpeg/ffmpeg/host$ export LD_LIBRARY_PATH=lib/

或者

sudo vim /etc/profile
export PATH=$PATH:/opt/gcc-arm-8.3-2019.03-x86_64-aarch64-linux-gnu/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib

``

猜你喜欢

转载自blog.csdn.net/baidu_38410526/article/details/103718191
今日推荐