Skip to content

Compile error: unknown type name 'CONTROLTRACE_ID' on Windows + VS2022 Clang (works on v0.13.0) #1243

@xuxmin

Description

@xuxmin

I encountered a compilation error when building the latest version of Tracy on Windows with Visual Studio 2022 + Clang toolchain.
The error message is:

[build] D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\client\windows/TracyETW.cpp(25,5): error: unknown type name 'CONTROLTRACE_ID'
[build]    25 |     CONTROLTRACE_ID handle = 0;
[build] D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\client\windows/TracyETW.cpp(517,8): error: unknown type name 'PROCESSTRACE_HANDLE'
[build]   517 | static PROCESSTRACE_HANDLE SetupEventConsumer( const Session& session, PEVENT_RECORD_CALLBACK callback )
[build]       |        ^
[build] D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\client\windows/TracyETW.cpp(527,5): error: unknown type name 'PROCESSTRACE_HANDLE'
[build]   527 |     PROCESSTRACE_HANDLE hConsumer = OpenTraceA( &trace );
[build]       |     ^
[build] D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\client\windows/TracyETW.cpp(534,33): error: unknown type name 'PROCESSTRACE_HANDLE'
[build]   534 | static ULONG StopEventConsumer( PROCESSTRACE_HANDLE hEventConsumer )
[build]       |                                 ^
[build] D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\client\windows/TracyETW.cpp(542,33): error: unknown type name 'PROCESSTRACE_HANDLE'
[build]   542 | static ULONG EventConsumerLoop( PROCESSTRACE_HANDLE hEventConsumer )
[build]       |                                 ^
[build] In file included from D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\TracyClient.cpp:27:
[build] D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\client/TracySysTrace.cpp(181,8): error: unknown type name 'PROCESSTRACE_HANDLE'
[build]   181 | static PROCESSTRACE_HANDLE consumer_kernel = INVALID_PROCESSTRACE_HANDLE;
[build]       |        ^
[build] D:\Project\Code\RenderEngine\engine\3rdparty\tracy\public\client/TracySysTrace.cpp(182,8): error: unknown type name 'PROCESSTRACE_HANDLE'
[build]   182 | static PROCESSTRACE_HANDLE consumer_vsync = INVALID_PROCESSTRACE_HANDLE;

The tag version v0.13.0 compiles successfully in the exact same environment.

Metadata

Metadata

Assignees

No one assigned

    Labels

    awaiting responseClarification on something is requested from the reporterbugSomething isn't workingwindowsThe issue is Microsoft-specific

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions