Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
En este tema se describen algunos errores de compilación comunes y cómo resolverlos.
Caso 1: errores de "DECLSPEC_SAFEBUFFERS"
Error de compilación (fragmento de código):
1>traceloggingprovider.h(1592): error C2146: syntax error : missing ';' before identifier 'TLG_STATUS'
1>traceloggingprovider.h(1592): error C2433: 'DECLSPEC_SAFEBUFFERS' : 'inline' not permitted on data declarations
1>traceloggingprovider.h(1592): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
Arreglar:
Incluya windows.h antes de incluir TraceLoggingProvider.h en el archivo de origen.
Caso 2: Registro de seguimiento en aplicaciones modernas de C++
Error de compilación (fragmento de código):
Después de copiar los archivos de encabezado traceLogging en el entorno de compilación y agregar esta línea:
TraceLoggingRegisterByGuid(g_3DBuilderTraceProvider, &s_3DBuilderTraceProviderGuid);
Tiene este error del enlazador:
Error 2 error LNK2001: unresolved external symbol __imp__EventSetInformation@20
E:\TFS\Main\PrintPreviewR5\Viewers\PrintPreview\App.xaml.obj PrintPreview
Error 3 error LNK2001: unresolved external symbol __imp__EventRegister@16
E:\TFS\Main\PrintPreviewR5\Viewers\PrintPreview\App.xaml.obj PrintPreview
Arreglar:
Las aplicaciones para UWP deben vincularse con advapi32.lib para resolver este problema de referencia.
Caso 3: Compilaciones de teléfono
Error de compilación (fragmento de código):
Al compilar el archivo dictationuimodel.cpp, obtendrá el error:
traceloggingprovider.h(1592) : error C2146: syntax error : missing ';' before identifier 'TLG_STATUS'
traceloggingprovider.h(1592) : error C2433: 'DECLSPEC_SAFEBUFFERS' : 'inline' not permitted on data declarations
Arreglar:
Vea Caso n.º 1. Es probable que el SDK no defina la macro DECLSPEC_SAFEBUFFERS. Los SDK actualizados tienen una definición para esta macro. Si el SDK no define esta macro, deberá proporcionar su propia definición.
DECLSPEC_SAFEBUFFERS se define en winnt.h, que windows.h debe incluir. Además, hasta la versión pública del SDK de Windows 10, es posible que tenga que definir la palabra clave Telemetry:
#ifndef WINEVENT_KEYWORD_TELEMETRY
#define WINEVENT_KEYWORD_TELEMETRY 0x2000000000000
#endif