如何在boost :: posix_time中启用纳秒?

时间:2013-11-04 14:24:19

标签: c++ boost

我想在nanoseconds中使用boost::posix_time类型定义,但似乎未定义此类型。我查看了实现,看起来类型定义受

保护
#if defined(BOOST_DATE_TIME_HAS_NANOSECONDS)

所以我添加到我的代码

# define BOOST_DATE_TIME_HAS_NANOSECONDS

但我一直得到相同的编译错误。我在网上的一些页面中看到我可能需要重建我的升级库,这对我来说完全没问题,但我在bootstrap.shb2中没有看到任何相关标志,即使这是问题,我希望在链接而不是编译时出现这个问题。有什么想法是什么问题?提前谢谢。

1 个答案:

答案 0 :(得分:5)

The documentation says

  

简介

     

定义具有纳秒/微秒分辨率和稳定计算属性的非调整时间系统。纳秒级分辨率选项为每个ptime使用96位底层存储,而微秒级分辨率每ptime使用64位(有关详细信息,请参阅Build Options)。此时间系统使用公历来实现时间表示的日期部分。

构建选项页面显示:

  

要使用备用分辨率(96位纳秒),必须在库用户项目文件(即Makefile,Jamfile等)中定义变量BOOST_DATE_TIME_POSIX_TIME_STD_CONFIG

请阅读文档。