C++ 错误C2039:&x27;chrono';:不是';std&x27;

C++ 错误C2039:&x27;chrono';:不是';std&x27;,c++,visual-studio-2015,chrono,C++,Visual Studio 2015,Chrono,我正在使用Visual Studio 2015创建Win32项目。我试图使用chrono库,但它说找不到。我在一个控制台项目中使用chrono库测试了代码,但它在控制台项目中有效,但在Win32项目中无效 #include <chrono> ... using namespace std::chrono; LocalDriveHeader header; auto durnow = system_clock::now ().time_since_epoch (); header.

我正在使用Visual Studio 2015创建Win32项目。我试图使用chrono库,但它说找不到。我在一个控制台项目中使用chrono库测试了代码,但它在控制台项目中有效,但在Win32项目中无效

#include <chrono>
...
using namespace std::chrono;

LocalDriveHeader header;
auto durnow = system_clock::now ().time_since_epoch ();

header.version = VERSION;
header.flags = 0x0000;
header.sector_size = sector_size;
header.early_time = chrono::duration_cast <milliseconds> (durnow).count ();
...

您的文件顶部可能缺少一个
#include
。您需要此
#include
才能访问
std::chrono
命名空间

我将
#include
添加到预编译头中。
我不知道为什么在实际的源代码中添加include会导致问题…

在我的例子中,问题是“chrono”的include语句在“stdafx.h”的include语句之前。

我刚才自己也遇到了这个问题。在我的例子中,我在我的项目中新添加了一个名为“Time.h”的文件,这导致名称与MSVC的STL中包含的内部头发生冲突。奇怪的是,它表现在你描述的方式上。重命名该文件修复了它。

是否包含标题?@ChrisStathis是的。显示完整的代码和您得到的确切错误。我没有包含包含的部分。是的,我确实包括了chrono,但我仍然得到那个错误。是的,你解决了我的问题。现在在VS2019中,CppUnitTest文件是“pch.h”和“CppUnitTest.h”。我愚蠢地把它们放在后面,因为我误用了核心准则。
c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(123): error C2039: 'chrono': is not a member of 'std'
1>  c:\program files (x86)\microsoft visual studio 14.0\vc\include\memory(1175): note: see declaration of 'std'
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(123): error C2871: 'chrono': a namespace with this name does not exist
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(126): error C2653: 'system_clock': is not a class or namespace name
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(126): error C3861: 'now': identifier not found
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(126): error C2228: left of '.time_since_epoch' must have class/struct/union
1>  c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(126): note: type is 'unknown-type'
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(131): error C2653: 'chrono': is not a class or namespace name
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(131): error C2065: 'duration_cast': undeclared identifier
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(131): error C2065: 'milliseconds': undeclared identifier
1>c:\users\eunbin\documents\visual studio 2015\projects\gamgeum\gamgeum\container.cpp(131): error C3536: 'durnow': cannot be used before it is initialized