2

Boost:Asio チュートリアルからいくつかの基本的なサーバー/クライアント ソフトウェアを実行しようとしています。アプリケーションはローカルホスト上で正常に動作しますが、コンパイルされたプログラムをコンパイルして別のサーバーに移動すると、ライブラリが見つかりません (ライブラリが存在しないため、これは理にかなっています)。コンパイルしたとき、次のように入力してライブラリをリンクしたと思いました。

g++ -I /usr/local/boost_1_52_0 client.cpp -o client -lpthread -lboost_system

ネットワークにインストールするすべてのクライアント ソフトウェアでライブラリを配布する必要がある場合、Boost のようなクロス プラットフォーム ソリューションを使用する目的が損なわれることはありませんか? 何か不足していますか?ライブラリをコンパイル済みコードにパッケージ化して、ソフトウェアと共に配布する方法はありますか?

類似: 共有ライブラリの読み込み中にエラーが発生しました: libboost_system.so.1.45.0: 共有オブジェクト ファイルを開けません: そのようなファイルやディレクトリはありません

(しかし、同じではありません)。

4

1 に答える 1

1

前述のとおり、-static オプションが必要でした。

于 2012-12-19T19:12:08.620 に答える