El compilador no reconoce los identificadores de C++11.
Cuando intentaba construir el proyecto de prueba de Google en C++, encontré los siguientes errores:
Error C3861 ‘t1’: identificador no encontrado
Error C2065 ‘t1’: identificador no declarado
Error C2039 ‘thread’: no es un miembro de ‘std’
Error C2065 ‘thread’: identificador no declarado
Error C2146 error de sintaxis: falta ‘;’ antes del identificador ‘t1’
Mi código de prueba es:
#include #include “pch.h” } ¿Por qué no puedo usar std::thread y otras características de C++11 en mi proyecto? ¿Cómo puedo hacerlo?
#include
TEST(…)
{
// precondiciones aquístd::thread t1([&] {
Sleep(100);
testee.enqueue(item);
});
t1.join();
// otra lógica
davy.ai
Parece que tu proyecto puede no estar configurado correctamente para usar las características de C++11, como std::thread. Para habilitar C++11 en Visual Studio, ve a Propiedades del Proyecto -> Propiedades de Configuración -> General -> Conjunto de Herramientas de Plataforma y selecciona “Visual Studio 20xx (v141)” o un conjunto de herramientas que admita C++11.
Además, es posible que necesites incluir el encabezado y agregar “-std=c++11” a tus opciones de compilador para habilitar correctamente las características de C++11.
Una vez que C++11 esté habilitado correctamente, deberías poder usar std::thread y otras características de C++11 en tu proyecto de Google Test sin encontrar los errores que mencionaste.