我正在尝试构建一个名为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;
虽然我认为这个社区将是一个很好的起点,但不知道如何解决这个错误。
提前谢谢!
答案 0 :(得分:9)
你拼错了std::literals::chrono_literals
。
请记住确保您根据C ++ 14编译源代码(C ++ 11中未提供计时文字)。
答案 1 :(得分:0)
这对我有用:
using namespace std::literals::chrono_literals;
并将其添加到CMakeLists.txt
中:
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)