未解析的外部符号boost :: chrono :: system_clock :: now(void)

时间:2012-08-14 23:19:32

标签: c++ visual-studio-2008 boost

谷歌一直不友好......

我最近提升了1.50,我正在尝试使用它来构建我的项目。这是一个大型项目,使用了几个提升功能(线程,信号,指针类,精神等)。一些细节:
- MSVC 9.0(2008)
- 静态链接提升

我收到一个错误,链接每个结果的exe,但与chrono,我没有直接链接。错误是:

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)

我看到了this question,但我没有直接控制链接的顺序(而是使用自动链接功能)。如果有一个我缺少的特定库,我可以手动链接它;次优,但可能。但是,我不知道缺少什么。看来(在我的半受教育的观点中)符号在时间库中被激活,而不是在系统库中。

任何帮助?

1 个答案:

答案 0 :(得分:3)

查看documentation。它指定你必须链接到chrono和system来使用线程,除非你给出一些特定的宏来禁用它们(并失去它们的功能)。