这样把文件拷贝到其他地方就可以使用了
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
まず、どのライブラリに依存しているかを知る必要があります。ldd は役に立ちますが、動的にロードされるライブラリが他のライブラリに依存するかどうかは、プログラムによっては異なります。 pass ldd この静的解析ツールは、これらの動的にロードされたライブラリを見つけて ldd を繰り返し呼び出す必要があることを認識しています。
ldd
しかし、依存関係を知っていても問題は解決しません。依存関係なしで実行可能ファイルをコンパイルし、それを他のマシンで直接実行できるようにしたいと思います。これには、静态链接 を使用してプログラムのソース コードを再コンパイルする必要があります。同時に、依存ライブラリも .a の代わりにライブラリのアーカイブ バージョン (通常は .so) を提供する必要があります。多くの依存ライブラリは、インストール時にデフォルトで .a バージョンのライブラリをインストールしません。一部のライブラリをソース コードからコンパイルした場合でも、デフォルトではライブラリのアーカイブ バージョンをコンパイルできません。
静态链接
.a
.so
追加のポイント: glibc を静的に実行可能ファイルにコンパイルしようとする場合は、そうしないようにしてください。 glibc は、ほとんどすべての Linux ディストリビューション システムに含まれる基本ライブラリです。通常、プログラムに静的にリンクする必要はなく、glibc は下位互換性があるため、比較的低いバージョンの glibc でコンパイルするだけで済みます。プログラムは Linux システム上で実行できます。 C++ を使用している場合は、stdlib も検討する必要があるかもしれません。 glibc を静的にしようとすると、不可解な問題が発生する可能性があります。
Linux の ldd コマンドは、実行可能プログラムが依存するライブラリをチェックします
ダイナミック ライブラリのみをパッケージ化できます。コンパイルでは、ソース コードをリンクするときに静的リンクを使用する必要があります。 。 パッケージ化するときは、基盤となるライブラリ (glibc など) のバージョンにも注意する必要があります。マシン環境が同じであれば、手動で設定する必要があります。 LD_LIBRARY_PATH をクリックしてプログラムを開始します。 。 2 階 + 2 階の 2 階と同じ lddプログラムで使用されるダイナミック ライブラリ リンクの方向を表示できます。elf 。
glibc
LD_LIBRARY_PATH
elf
まず、どのライブラリに依存しているかを知る必要があります。
ldd
は役に立ちますが、動的にロードされるライブラリが他のライブラリに依存するかどうかは、プログラムによっては異なります。 passldd
この静的解析ツールは、これらの動的にロードされたライブラリを見つけてldd
を繰り返し呼び出す必要があることを認識しています。しかし、依存関係を知っていても問題は解決しません。依存関係なしで実行可能ファイルをコンパイルし、それを他のマシンで直接実行できるようにしたいと思います。これには、
静态链接
を使用してプログラムのソース コードを再コンパイルする必要があります。同時に、依存ライブラリも.a
の代わりにライブラリのアーカイブ バージョン (通常は.so
) を提供する必要があります。多くの依存ライブラリは、インストール時にデフォルトで.a
バージョンのライブラリをインストールしません。一部のライブラリをソース コードからコンパイルした場合でも、デフォルトではライブラリのアーカイブ バージョンをコンパイルできません。追加のポイント: glibc を静的に実行可能ファイルにコンパイルしようとする場合は、そうしないようにしてください。 glibc は、ほとんどすべての Linux ディストリビューション システムに含まれる基本ライブラリです。通常、プログラムに静的にリンクする必要はなく、glibc は下位互換性があるため、比較的低いバージョンの glibc でコンパイルするだけで済みます。プログラムは Linux システム上で実行できます。 C++ を使用している場合は、stdlib も検討する必要があるかもしれません。 glibc を静的にしようとすると、不可解な問題が発生する可能性があります。
Linux の ldd コマンドは、実行可能プログラムが依存するライブラリをチェックします
リーリーダイナミック ライブラリのみをパッケージ化できます。コンパイルでは、ソース コードをリンクするときに静的リンクを使用する必要があります。 。
パッケージ化するときは、基盤となるライブラリ (
glibc
など) のバージョンにも注意する必要があります。マシン環境が同じであれば、手動で設定する必要があります。LD_LIBRARY_PATH
をクリックしてプログラムを開始します。 。2 階 + 2 階の 2 階と同じ
ldd
プログラムで使用されるダイナミック ライブラリ リンクの方向を表示できます。elf
。