5

グーグルは不親切でした...

最近ブースト 1.50 をプルダウンし、それを使用してプロジェクトをビルドしようとしています。これは、いくつかのブースト機能 (スレッド、シグナル、ポインター クラス、スピリットなど) を使用する大規模なプロジェクトです。いくつかの詳細:
- MSVC 9.0 (2008)
- 静的リンク ブースト

結果のすべてのexeをリンクするとエラーが発生しますが、直接リンクしていないクロノを使用しています。エラーは次のとおりです。

libboost_thread-vc90-mt-sgd-1_50.lib(thread.obj) : error LNK2019: unresolved external symbol "public: static class boost::chrono::time_point<class boost::chrono::system_clock,class boost::chrono::duration<__int64,class boost::ratio<1,10000000> > > __cdecl boost::chrono::system_clock::now(void)" (?now@system_clock@chrono@boost@@SA?AV?$time_point@Vsystem_clock@chrono@boost@@V?$duration@_JV?$ratio@$00$0JIJGIA@@boost@@@23@@23@XZ) referenced in function "public: bool __thiscall boost::thread::try_join_until(class boost::chrono::time_point<class boost::chrono::system_clock,class boost::chrono::duration<__int64,class boost::ratio<1,1000000000> > > const &)" (?try_join_until@thread@boost@@QAE_NABV?$time_point@Vsystem_clock@chrono@boost@@V?$duration@_JV?$ratio@$00$0DLJKMKAA@@boost@@@23@@chrono@2@@Z)

この質問を見ましたが、リンクの順序を直接制御しているわけではありません (自動リンク機能を使用しています)。不足している特定のライブラリがある場合は、手動でリンクできます。準最適ですが、可能です。しかし、私は何が欠けているのか分かりません。シンボルは、システム ライブラリではなく、クロノ ライブラリで外部化されているように見えます (私の半教育的な見解では)。

何か助けはありますか?

4

1 に答える 1

3

Have a look at the documentation. It specifies that you have to link to chrono and system to use thread unless you give some specific macros to disable their use (and lose their functionality).

于 2012-08-15T00:12:32.927 に答える