私は同じ名前の静的ライブラリと動的ライブラリlibclsocket.aとlibclsocket.soを持っています。私がリンクしたいライブラリを指定すると、単にライブラリとして-lclsocketと入力するだけです。私のプログラムは完全にうまく動作しますが、どのライブラリを使用していますか?静的ライブラリまたは動的ライブラリ?私は私の友人に私のプログラムを与えたいと思います。私はライブラリにリリースを含める必要があるかどうか分かりません。 C++、codelite、pcLinuxOS 2010Linuxでは、静的ライブラリまたは動的ライブラリにリンクしているかどうかをどのように確認できますか?
11
A
答えて
5
2
フラグ-static
を使用すると、すべてのコンポーネントが静的になります。 -l
には共有ライブラリが含まれている場合があります。したがって、スタティックライブラリのファイル名を指定すると(たとえば、/usr/lib/libfoo.a
とすると、-l
は付加されません)、目的の効果が得られます。
関連する問題
- 1. 静的ライブラリはどのように依存関係にリンクしますか?
- 2. C++ LinuxターゲットアプリケーションをObjective-C静的ライブラリにリンクできますか?
- 3. 他の静的ライブラリにリンクする静的ライブラリに動的ライブラリをリンクする
- 4. 2つのLinux静的ライブラリがある場合、どのライブラリが他の静的ライブラリに依存しているかを確認する方法は?
- 5. gccに静的ライブラリを強制的にリンクさせるにはどうしたらいいですか?
- 6. CMakeがソースディレクトリの静的ライブラリにリンクするようにするにはどうすればよいですか?
- 7. OpenSSLから動的および静的ライブラリを生成するにはどうすればよいですか?
- 8. ビルド中に静的ライブラリを共有ライブラリにリンクしますか?
- 9. 静的にリンクされたアプリケーションもいくつかの動的ライブラリにリンクできますか?
- 10. Eclipse C++プロジェクトに静的にリンクされたライブラリを含めるにはどうすればよいですか?
- 11. QMakeは静的ライブラリの.prlファイルをどのように処理しますか?
- 12. 動的ライブラリまたは静的ライブラリの名前空間が既に使用されているかどうかを知る方法はありますか?
- 13. 数学ライブラリは静的にリンクされていますか?
- 14. GCC/Linux:.soに静的ライブラリを追加していますか?
- 15. 動的リンクされた共有ライブラリのグローバル変数と静的変数はどうなりますか?
- 16. Xcode 4で静的ライブラリをビルドします。$ {BUILD_STYLE}はどうなりますか?
- 17. Qtで静的ライブラリと動的ライブラリの両方を使用できますか
- 18. 静的ライブラリと動的ライブラリの両方を同じ実行可能な原因にリンクするにはどのような問題がありますか?
- 19. UNIX:実行可能ファイルを静的ライブラリと動的ライブラリの両方にリンクしていますか?
- 20. 静的ライブラリにどのように含める必要がありますか?
- 21. スタティックにリンクするには静的ライブラリが必要ですか?
- 22. Xcodeで動的ライブラリをリンクするにはどうしたらいいですか?
- 23. LinuxまたはOSXでライブラリを動的にロードするには?
- 24. ノードC++アドオンで動的ライブラリをどのように展開しますか?
- 25. Linux GNUビルド:静的ライブラリのセットから動的ライブラリを構築する
- 26. 共有ライブラリを構築するにはどうしたらよいですか?Linuxでは静的glibcを使用しますか?
- 27. ビットコードを有効にして静的ライブラリを使用するにはどうすればよいですか?
- 28. NDKの静的ライブラリ(.a)とandroid CMakeをリンクするにはどうすればいいですか?
- 29. 私のMS Visual StudioプロジェクトをOpenSSL静的ライブラリとリンクさせるにはどうすればいいですか?
- 30. 同じライブラリを静的および動的にリンクする
GCCでビルドするときに '-static'フラグを指定していないので、共有オブジェクトにリンクしている可能性は非常に高いです。 @Soo Wei Tanが答えたように、バイナリに対して 'ldd'を使って実行時リンカーの依存関係を調べることができます。 – birryree
希望のライブラリを静的にリンクするように指定できますか? – TheFuzz
ライブラリのフルネームを渡すことで、静的リンクを選択してリンクすることができます。 'gcc -o OutFile <ソースファイル> -l:libclsocket.a'のように。 ':'に注意してください。とても重要です。私はこの振る舞いの公式文書を見たいと思っていますが、 'gcc'のマンページではこの使用法は言及していません。 – birryree