25

Boost.Thread1.34.1ライブラリにどのようなリンクオプションが存在するかは私にはわかりません。私はUbuntu8.04を使用しており、コンパイルと実行の両方を使用しているとき、boost_threadまたはboost_thread-mtリンクしているときに、これらまたは他のリンクオプションに関するドキュメントが上記のリンクに表示されないことがわかりました。

どのようなBoost.Threadリンクオプションが利用可能であり、それらはどういう意味ですか?

4

2 に答える 2

37

上手...

最初の面白いことは-mt、名前の修飾子が、ライブラリがマルチスレッドに対応していることを示すことです。boost_threadこれは、 (この修飾子がないと)マルチスレッドで安全ではない可能性があると私たちに信じさせる可能性があります...

しかし、本当のことは(私自身のUbuntu 10.04ボックスで見られるように)、boost_threadへのソフトリンクboost_thread-mtであるということです。つまり、2つは同じです。

確認したい場合は、ubuntuでコンソールを開いて(名前が長いためコンソールをフルスクリーンにします)、次のように入力します。

cd /usr/lib

Boostライブラリがあるディレクトリに移動します。その後:

ls -l ./libboost_thread*

これにより、、で始まるすべてのファイルlibboost_threadが追加情報とともに一覧表示されます。結果は次のようになります。

[...] ./libboost_thread.a
[...] ./libboost_thread-mt.a -> libboost_thread.a

ご覧のとおり、libboost_thread.aは静的ライブラリであり、libboost_thread-mt.aへのソフトリンクです。libboost_thread.a

于 2010-06-13T10:14:29.567 に答える
9

Boostライブラリの命名スキームの詳細については、http ://www.boost.org/doc/libs/release/more/getting_started/unix-variants.html#library-namingを参照してください。

于 2010-06-13T10:27:02.233 に答える