环境:ubuntu 16.04
工具:vim + gcc
先前自己在linux系统上下载了套ffmpeg源码,专门学习了解下ffmpeg。
基于linux编译ffmpeg,完全可以参考官方wiki。编译完嘛,总要写个小Demo来验证下自己编译出来的共享库是不是可以用啊,so 问题就来了。
小Demo参考链接:当然你也可以直接挪用ffmpeg中本身带有的examples,该examples位于 doc/examples路径下。
建议使用makefile工程来开发,好处多多。
linux 平台最简FFMPEG 程序
Linux下安装FFMPEG 编译 以及基本的Demo开发
问题修复,参考链接:
“error while loading shared libraries: xxx.so.x” 错误的原因和解决办法
谈谈Linux下动态库查找路径的问题
建议使用export LD_LIBRARY_PATH来修复问题,本身就是自己写的一个小Demo,用来验证自己的想法。没必要去改动系统的配置(也是避免自己后面忘了改回来)。
附录下Makefile的内容:
CC = gcc
DIR = src/
INCLUDE = -Iinclude/
LIB = -Llib/ -lavformat -lavutil -lavdevice -lavcodec -lswresample -lavfilter -lswscale
# INCLUDE = -Iinclude/libavutil/ -Iinclude/libavdevice/ \
# -Iinclude/libavcodec/ -Iinclude/libswresample \
# -Iinclude/libavfilter/ -Iinclude/libavformat \
# -Iinclude/libswscale/
#LIB = -lavformat -lavutil -lavdevice -lavcodec -lswresample -lavfilter -lswscale
helloFF: helloFF.o
$(CC) -o helloFF helloFF.o $(LIB)
helloFF.o: $(DIR)helloFF.c
$(CC) -o helloFF.o -c $(DIR)helloFF.c $(INCLUDE) $(LIB)
.PHONY: clean
clean:
-rm helloFF helloFF.o