[解決済み] 2つのライブラリが同じ名前の関数を提供し、競合が発生した場合、どうすればよいですか?
2022-10-04 06:38:04
質問
同等の名前の関数を提供するライブラリが2つある場合、どうすればよいでしょうか?
どのように解決するのですか?
- 片方または両方を制御している場合: 片方を編集して名前を変更し、再コンパイルする または同等に、以下を参照してください。 ベン と 不明 の答えは、動作する がなければ にアクセスすることなく動作します。
- もし、どちらもコントロールできないのであれば、どちらかをラップすることができます。それはコンパイル 別の ( 静的リンク このライブラリは、問題のあるシンボル以外のオリジナルのシンボルをすべて再エクスポートする以外には何もしませんが、別の名前を持つラッパーを通して到達します。なんて面倒なんでしょう。
- 後で追加されました。 qeekはダイナミックライブラリについて話していると言っているので、提案された解決策は フェルッチョ と mouviciel がベストでしょう。(私は、静的リンクがデフォルトだった大昔の時代に生きているようです。それが私の思考を彩っています)。
コメントについて。export" によって、私はライブラリにリンクしているモジュールから見えるようにすることを意味します。
extern
キーワードに相当します。これをどのように制御するかは、OSやリンカに依存します。そして、それは私が
は常に
は調べなければなりません。
関連
-
libc++abi.dylib: NSException タイプの捕捉されない例外で終了するエラー
-
関数 'malloc' の暗黙の宣言に対する解決策
-
[解決済み] SQLiteのINSERT/per-secondのパフォーマンスを向上させる
-
[解決済み] C言語では「?」演算子は何をするのですか?
-
[解決済み] CとC++でmain()は何を返すべきですか?
-
[解決済み] スタティック・ライブラリとシェアード・ライブラリの違い?
-
[解決済み] 実際の関数定義と比較して)パラメータがない関数がコンパイルされるのはなぜですか?
-
[解決済み】高放射能環境下で使用するアプリケーションのコンパイルについて
-
[解決済み】C言語におけるsize_tとは?
-
[解決済み】C言語の「static」関数とは?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
_CRT_SECURE_NO_WARNINGS エラーメッセージ、解決方法
-
g++が内部・外部コマンドソリューションとして認識されない、MinGWを初めて使うときの落とし穴
-
initializer element is not constant "というエラーが表示されるのですが?
-
[解決済み] munmap_chunk(): 無効なポインタ
-
[解決済み] C言語の書式指定子 %ul と %lu の違いは何ですか?
-
[解決済み] Linux Socket write() によるBad File Descriptor C
-
[解決済み] C関数から文字列を返す
-
[解決済み] C言語における「static」の意味とは?
-
[解決済み] Cプリプロセッサはなぜ "linux "という単語を定数 "1 "と解釈するのですか?
-
[解決済み] LD_PRELOADのトリックとは何ですか?