[解決済み] rpathと-Lの違いは何ですか?
質問
gcc
そして
ld
は、ライブラリの検索パスを指定するための多くの方法を提供しますが、その中でも
-rpath
と
-L
フラグがあります。この 2 つのフラグに違いはなく、それぞれのフラグがライブラリの検索パスに 追加されることを事実上示しています。しかし、両方のフラグが
まさに
を行うのは不思議です。これら 2 つのオプションに違いがあるとすれば、それは何でしょうか?
どのように解決するのですか?
古いマニュアルを読んでいるのでしょう (強調)。
-rpath=dir
ディレクトリを追加して ランタイム ライブラリの検索パスに追加します。 これは
共有オブジェクトを含む ELF 実行ファイルをリンクする際に使用されます。 すべて -rpath
の引数は連結され ランタイム リンカに渡され、リンカは
での共有オブジェクトの位置を特定するために使用します。 ランタイムで共有オブジェクトの位置を特定します。
vs.
-L searchdir
--ライブラリパス=searchdir
が指定するパスのリストにパスsearchdirを追加します。 ld が検索するパスのリストに追加します。
アーカイブライブラリと ld 制御スクリプトを検索します。
では
-L
伝える
ld
は、リンク時にリンクするライブラリを探す場所を指定します。これは(例えば)ビルドツリーにあるライブラリに対してビルドするときに使用します。
make install
.
--rpath
は、ランタイムのダイナミックリンカーがライブラリを見つけられるように、実行ファイル内にそのパスを保存します。これは、ライブラリがシステムライブラリ検索パスの外側にある場合に使用します。
関連
-
[解決済み】g++ output: file not recognized: ファイル形式が認識されない
-
[解決済み] gcc エラー:間違った ELF クラスです。ELFCLASS64
-
[解決済み] シグナル11[SIGSEGV]のデフォルトアクションでプロセスが終了しています。
-
[解決済み] 静的にリンクされたライブラリでGCCのリンク時最適化を使用する
-
[解決済み] LD_LIBRARY_PATH と LIBRARY_PATH の比較
-
[解決済み] cygwinにgccをインストールするにはどうしたらいいですか?
-
[解決済み] g++とgccの違いは何ですか?
-
[解決済み] スタティック・ライブラリとシェアード・ライブラリの違い?
-
[解決済み】共有オブジェクト(.so)、静的ライブラリ(.a)、DLL(.so)の違い?)
-
[解決済み】-Wl,-rpath -Wlがわかりません。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] gcc エラー:間違った ELF クラスです。ELFCLASS64
-
[解決済み] シュール vs サール ... x86 アセンブリ gnu
-
[解決済み] gccのオプションにある-m32、-m64、nothingの違いは何ですか?
-
[解決済み] シグナル11[SIGSEGV]のデフォルトアクションでプロセスが終了しています。
-
[解決済み] CFLAGS, CCFLAGS, CXXFLAGS - これらの変数はいったい何を制御しているのでしょうか?
-
[解決済み] gccやldで位置非依存の実行ファイルを作成するための-fPIEオプションとは何ですか?
-
[解決済み] なぜGCCはa*a*a*a*aを(a*a*a)*(a*a*a)に最適化しないのでしょうか?
-
[解決済み] どのフラグが -march=native で有効になるかを確認する方法は?
-
[解決済み] ライブラリを静的にリンクするようにgccに直接指示する
-
[解決済み] CUDAは私のgccのバージョンと互換性がありません。