[解決済み] 静的ライブラリと他の静的ライブラリとのリンク
質問
私は多くの静的ライブラリ(a_1-a_n)に依存する小さなコードの断片を持っています。そのコードを静的ライブラリにパッケージングして、他の人が利用できるようにしたいと思います。
私の静的ライブラリ(Xと呼ぶことにしましょう)は、うまくコンパイルできます。
Xの関数を使う簡単なサンプルプログラムを作りましたが、Xにリンクしようとすると、ライブラリa_1〜a_nのシンボルが見つからないというエラーがたくさん出ます。
X と X が必要とするすべての機能 (a_1 - a_n から選択したビット) を含む新しい静的ライブラリ Y を作成して、人々がプログラムをリンクできるように Y だけを配布できる方法はありますか?
UPDATEです。
で全部捨ててしまうことを検討しました。 アー を作成し、1つのmega-libを作成しますが、それは結局必要のない多くのシンボルを含んでしまいます(すべての.oファイルは約700MBですが、静的にリンクされた実行形式は7MBです)。実際に必要なものだけを含めるいい方法はないでしょうか?
と密接な関係があるように見えます。 複数のC/C++ライブラリを1つにまとめるには? .
どのように解決するのですか?
静的ライブラリは、他の静的ライブラリとリンクしません。これを行う唯一の方法は、ライブラリアン/アーカイバツール(例えば アー Linuxの場合)、複数のライブラリを連結して1つの新しい静的ライブラリを作成します。
編集してください。 あなたの更新に応じて、必要なシンボルだけを選択するために私が知っている唯一の方法は、それらを含む.oファイルのサブセットから手作業でライブラリを作成することです。これは難しく、時間がかかり、エラーが発生しやすいものです。私はこれを行うためのツールを知りません(存在しないとは言いませんが)が、これを作成するのは非常に興味深いプロジェクトになるでしょう。
関連
-
[解決済み】コンストラクターでのエラー:識別子を期待されますか?
-
[解決済み] string does not name a type Errorが発生するのはなぜですか?
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】「std::operator」で「operator<<」にマッチするものがない。
-
[解決済み] スタティック・ライブラリとシェアード・ライブラリの違い?
-
[解決済み] STL」と「C++ Standard Library」の違いは?
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み】スタティックリンクとダイナミックリンクの比較
-
[解決済み】共有オブジェクト(.so)、静的ライブラリ(.a)、DLL(.so)の違い?)
-
[解決済み] ライブラリを静的にリンクするようにgccに直接指示する
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】識別子 "string "は未定義?
-
[解決済み] [Solved] Error C1083: Cannot open include file: 'stdafx.h'
-
[解決済み】変数 '' を抽象型 '' と宣言できない。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】浮動小数点例外エラーが発生する: 8
-
[解決済み】オブジェクト引数のない非静的メンバ関数の呼び出し コンパイラーエラー
-
[解決済み】エラー:free(): 次のサイズが無効です(fast)。
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み】演算子のオーバーロード C++; <<操作のパラメータが多すぎる
-
[解決済み】Eclipse IDEでC++エラー「nullptrはこのスコープで宣言されていません」が発生する件