Si vous avez téléchargé le code source, vous pouvez le visualiser dans ffmpeg-4.3.1 / doc / examples /
Sur Ubuntu 16.04, après avoir installé ffmpeg via le code source, exécutez l'exemple officiel
gcc -o demux demuxing_decoding.c -I /usr/local/include/ -L /usr/local/lib -lavcodec -lavformat -lavutil
Comme le chemin de configuration de l'installation est / usr / local, les fichiers d'en-tête seront installés dans / usr / local / include, qui est le chemin de recherche du fichier d'en-tête Linux par défaut, il -I /usr/local/include/
n'est donc pas nécessaire.
gcc -o demux demuxing_decoding.c -L /usr/local/lib -lavcodec -lavformat -lavutil
Cependant, si vous ne spécifiez pas le chemin de chargement de la bibliothèque dynamique -L /usr/local/lib
, le chemin de -lavcodec sera par défaut /usr/lib/x86_64-linux-gnu/libavcodec-ffmpeg.so.56, mais le chemin correct doit être / usr / local / lib / libavcodec. so.58. En effet, avant selon le guide officiel pour installer OpenCV, en utilisant apt requis pour installer la bibliothèque libavcodec appropriée ...
[required] sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
Lorsque gcc compile le programme, la séquence de recherche de la bibliothèque si dynamique est la suivante:
-
Le chemin spécifié par le paramètre -L lors de la compilation de gcc
-
Variable d'environnement LIBRARY_PATH
-
Emplacement de la bibliothèque par défaut du système / lib, / usr / lib
Configurer les variables d'environnement dans le fichier ~ / .bashrc
# 编译时链接动态库路径
export LIBRARY_PATH=/usr/local/lib/:$LIBRARY_PATH
# 运行时链接动态库路径
export LD_LIBRARY_PATH=/usr/local/lib/:$LD_LIBRARY_PATH
Rendre le fichier ~ / .bashrc efficace à nouveau
source ~/.bashrc
Alors juste besoin
gcc -o demux demuxing_decoding.c -lavcodec -lavformat -lavutil