chrono_literals 不是命名空间名称

新手上路,请多包涵

我正在尝试构建一个名为 darkstar 的私有 FFXI 服务器程序。我正在尝试在 FreeBSD 10.2 stable 上构建它。我正在使用来自端口的 GCC 5.3 来尝试构建它。

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

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

 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 行和之后几行的代码。

 #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;

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

原文由 user6031824 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.6k
1 个回答

你拼错 std::literals::chrono_literals

请记住确保您根据 C++14 编译源代码(C++11 中不提供计时文字)。

原文由 Toby Speight 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题