首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >chrono_literals不是命名空间名称

chrono_literals不是命名空间名称
EN

Stack Overflow用户
提问于 2016-03-08 08:49:38
回答 3查看 23.3K关注 0票数 15

我正在尝试构建一个名为darkstar的程序,一个私有的FFXI服务器。我正在尝试将其构建在FreeBSD 10.2稳定版上。我正在使用ports中的GCC 5.3来尝试构建它。

使用这个make CC=gcc5 CXX=g++5 CPP="gcc5 -E“来调用正确版本的GCC/G++。

这是我被踢出的错误代码。

代码语言:javascript
复制
src/common/../common/../common/cbasetypes.h:336:22: error: 'chrono_literals'         is not a namespace-name
  using namespace std::chrono_literals;
                  ^
src/common/../common/../common/cbasetypes.h:336:37: error: expected namespace-name before ';' token
  using namespace std::chrono_literals;

我检查了一下,以确保chrono确实位于正确的位置,即/usr/include/c++/v1/chrono。

在抛出错误的地方,这是来自cbasetypes.h中的第336行和后面几行的代码。

代码语言:javascript
复制
#include <chrono>

using namespace std::chrono_literals;
using server_clock = std::chrono::steady_clock;
using time_point = server_clock::time_point;
using duration = server_clock::duration;

虽然我不确定如何解决这个错误,但我认为这个社区将是一个很好的起点。

提前谢谢你!

EN

回答 3

Stack Overflow用户

发布于 2016-03-08 16:48:40

你拼写错了std::literals::chrono_literals

记住要确保你是根据C++14编译源代码的(C++11中没有提供计时器文字)。

票数 19
EN

Stack Overflow用户

发布于 2019-06-04 02:27:30

这对我来说很有效:

代码语言:javascript
复制
using namespace std::literals::chrono_literals;

并将此代码添加到CMakeLists.txt

代码语言:javascript
复制
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
票数 4
EN

Stack Overflow用户

发布于 2021-12-13 19:06:26

代码语言:javascript
复制
#include <chrono>
 
using namespace std::chrono_literals; 

可以,但您至少需要C++14编译标志。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35856969

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档