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編集し、次の2行を追加します。

/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のコンパイル後にシステム環境を変えたくないという人は多いはずですが、現時点ではこの問題を解決する簡単な方法があります。現在の端末で環境変数をエクスポートすることです。

~/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