未解析的外部符号提升::时间::system_clock::现在(无效)
Unresolved external symbol boost::chrono::system_clock::now(void)
谷歌一直不友善...
我最近下调了 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)
我看到了这个问题,但我没有直接控制链接的顺序(而是使用自动链接功能)。如果我缺少特定的库,我可以手动链接它;次优,但可能。但是,我不知道缺少什么。似乎(以我的半教育观点)该符号是在时间库中排出的,而不是在系统库中
。有什么帮助吗?
看看文档。它指定您必须链接到 chrono 和系统才能使用线程,除非您提供一些特定的宏来禁用它们的使用(并失去它们的功能)。
相关文章:
- 如何在c++中使用system()来运行包含空格的python脚本
- 使用 SendInput 或 mouse_event 不适用于 clock()?
- System.InvalidCastException - SQL to C++ - safe_cast<float>
- C++/CLI System.AccessViolation在托管类中调用非托管函数时出现异常
- 来自 Android 应用程序内部的 boost 类型的 boost::wrapexcept<boost::system::system_error> 的未捕获异常
- 程序在使用 system() 启动另一个可执行文件时停止
- 为什么我的 DeviceInformation 对象没有 System.Devices.InterfaceClassGuid 属性?
- 为什么"using System;"不被视为不良做法?
- C++ 合并字符串以'system'函数错误
- System.AccessViolationException:shared_ptr C# .NET 和 C++ 应用程
- 将 Vcl::Controls::TCaption aka (System::UnicodeString) 转换为 co
- 对 boost::system::d etail::system_category_instance 的未定义引用,从
- Python os.system() 返回错误值
- 使用 system() 函数在C++程序中运行 cmd 命令
- 如何使用 C/C++ 和 system() 系统调用以外的其他方法在 Linux 中获取文件功能?
- 在C++中,如何在第一个"system()"结束后执行第二个"system()"?
- system() 无法运行我的程序,因为空间
- How to recover system gcc compiler on centos 6
- 导出 c++ 函数并使用 c# System.AccessViolationException 中的函数
- c++ 中的 clock() 时间和 java 中的 System.CurrentTimeMillis() 之间的时间差