gpt4 book ai didi

c++ - 提升日期/时间 microsec_clock 编译不正确

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:36:02 26 4
gpt4 key购买 nike

我正在尝试使用 C++ Boost 库 v1.41 的日期/时间功能。 (注意:这是 Linux,不是 Windows;g++ v4.4.7)

代码:

#include <boost/date_time/posix_time/posix_time.hpp>
using boost::posix_time::ptime;
using boost::date_time::microsec_clock;
:
t1 = (boost::date_time::microsec_clock::local_time()); // line 208

错误:

tom.cpp:208: error: 'template<class time_type> class boost::date_time::microsec_clock' used without template parameters

现在,在 boost/date_time/posix_time/posix_time_types.hpp 中有这个:

#ifdef BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK
//! A time clock that has a resolution of one microsecond
/*! \ingroup time_basics
*/
typedef date_time::microsec_clock<ptime> microsec_clock;
#endif

我的结论是 BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK 未定义,导致 typedef 永远不会发生,导致对“microsec_clock”的引用看起来需要一个模板参数。

据我所知,我正在关注 Boost date_time documentation不折不扣。有什么想法吗?

最佳答案

我现在遇到了同样的问题。昨天它没有任何问题,但今天由于 svn 损坏问题,我需要删除所有已编译的库并重新编译它们。自从出现这个错误。

修复它的方法很简单。只需使用

t1 = (boost::posix_time::microsec_clock::local_time());

代替

t1 = (boost::date_time::microsec_clock::local_time());

这会将时间类型预设为 posix 格式,但它不会解决 BOOST_DATE_TIME_HAS_HIGH_PRECISION_CLOCK 的初始问题。

希望对您有所帮助。

关于c++ - 提升日期/时间 microsec_clock 编译不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18730157/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com