chrono_literals不是命名空间名称
chrono_literals is not a namespace-name
我正在尝试构建一个名为darkstar的程序,这是一个私有FFXI服务器。我正在尝试在 FreeBSD 10.2 稳定版上构建它。我正在使用端口的GCC 5.3来尝试构建它。
使用此方法使 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;
不确定该怎么做才能解决此错误,尽管我认为这个社区将是一个很好的起点。
你拼写错误std::literals::chrono_literals
.
请记住确保根据 C++14 编译源(C++11 中未提供时间文本)。
这对
我有用:
using namespace std::literals::chrono_literals;
并在CMakeLists.txt
中添加以下内容:
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
#include <chrono>
using namespace std::chrono_literals;
可以,但您至少需要 C++14 编译标志。
相关文章:
- 命名空间中具有.h和.cpp文件的类
- 从父命名空间重载类型
- 在命名空间中定义函数还是限定函数
- C++:对不存在的命名空间使用命名空间指令
- 通过继承类使用来自不同命名空间的运算符
- 使用命名空间时出现多个定义错误
- CUDA内核和数学函数的显式命名空间
- 嵌套的匿名命名空间
- CMakeLists.txt中的命名空间表示法
- 类是C++中的命名空间吗
- 在命名空间中使用全局命名空间中的函数
- 如何使 std::sort 在 std::swap 和我的命名空间的模板化交换之间没有名称冲突?
- '使用命名空间{嵌套在另一个命名空间中的某个命名空间}"
- 是否可以将函数导入命名空间,但不能导出它?
- C++ C++类中的命名空间降级
- 如何使用 soong 命名空间来有条件地编译模块
- 使用 Clang++ 有没有办法将文件作为命名空间等包含?
- 使用 make 编译 MPI,几个命名空间错误,例如"错误:未知类型名称'使用'?
- 如何通过命名空间调用非静态方法
- 是`使用命名空间std :: literals的安全