0

OpenSSL バイナリ ファイルをダウンロードしました。Ubuntu で C++ プログラム用の静的ライブラリを作成したいと考えています。それらが同じディレクトリにあることを意味します。

http://www.openssl.org/source/

4

1 に答える 1

2

リンク時に-staticパラメーターを追加します。gcc動的にロードされたライブラリを使用せずに静的バイナリを使用することをお勧めします。libssl.aそれ以外の場合は、ビルド システムでリンクするオブジェクト ファイルとしてフル パスを追加します。アプリケーションをどのように構築するかを指定していません。

手動では、次のようなものを使用します。

gcc -o application yourcode.c yourcode2.c /usr/lib/libssl.a

またはそれ以上

gcc -static -o application yourcode.c yourcode2.c -lssl

ほとんどの場合、Linux 用のバイナリをダウンロードするのはお勧めできません。静的バイナリが必要な場合は、これが役立ちます。特別な機能を備えたライブラリのカスタム ビルドが必要な場合は、そのライブラリをソースから自分でダウンロードしてビルドする必要があります。

とにかく、あなたと同様の質問がここgcc の共有ライブラリ関数の静的リンク で回答されてい ます静的リンクを検討するには問題が多すぎる可能性があることを発見するために。

また、Linux でのリンクに関する詳細情報が必要な場合は、http://www.yolinux.com/TUTORIALS/LibraryArchives-StaticAndDynamic.htmlのすばらしいチュートリアルを参照してください。

于 2012-08-01T14:50:07.237 に答える