es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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

#include “pch.h”
TEST(…)
{
// precondiciones aquí

std::thread t1([&] {
    Sleep(100);
    testee.enqueue(item);
    });

t1.join();

// otra lógica

}

¿Por qué no puedo usar std::thread y otras características de C++11 en mi proyecto? ¿Cómo puedo hacerlo?

Tags:  , , ,

Answer

  1. Avatar for 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.

Comments are closed.