0

VisualStudio9.0用のboost.threadライブラリをビルドしようとしています。私はbjamを使用してlibファイルをビルドしました:

bjam toolset=msvc-9.0 variant=release threading=multi link=shared

コンパイルは成功し、boost / stage/libの下にたくさんの.libファイルと.dllファイルを取得しました。次に、インクルードパスと上記のlibパスをVisualStudio9.0に追加しました。

しかし、プログラムをコンパイルしようとすると、常に次のエラーが発生します。

libboost_thread-vc90-mt-s-1_49.lib cannot be opened.

ビルドによって作成されたlibファイルの名前は少し異なります。

boost_thread-vc90-mt-1_49.lib

予想される名前に一致するようにファイルの名前を変更しようとしましたが、VisualStudioでファイルが見つかりません。ファイル名beeingseaarchedは、プロジェクトオプション「C / C++/コード生成/ランタイムライブラリ」に依存しているようです。「マルチスレッド/MT」オプションが必要です。

私は何が間違っているのですか?

前もって感謝します。

4

1 に答える 1

0

静的にCRTとリンクしようとしていますが、動的に-Boostとリンクしようとしています。これは良い考えではありませんが、主張する場合は、BOOST_ALL_DYN_LINKマクロを定義する必要があります。より良いオプションは、プロジェクトオプションで/ MDを選択するか、ブーストを構築するときに「link=static」を設定することです。

于 2012-06-11T08:16:12.650 に答える