tracy icon indicating copy to clipboard operation
tracy copied to clipboard

Does not compile with MinGW

Open neheb opened this issue 1 year ago • 2 comments

https://github.com/mesonbuild/wrapdb/pull/1631

Mising link to ws2_32.lib for TracySocket.cpp

neheb avatar Sep 06 '24 02:09 neheb

0.12.0 has different failures in https://github.com/mesonbuild/wrapdb/pull/2138.

MSYS2 UCRT64:

[1/2] Compiling C++ object subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj
FAILED: subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj 
"c++" "-Isubprojects/tracy-0.12.0/libtracy.dll.p" "-Isubprojects/tracy-0.12.0" "-I../subprojects/tracy-0.12.0" "-I../subprojects/tracy-0.12.0/public" "-fdiagnostics-color=always" "-D_GLIBCXX_ASSERTIONS=1" "-D_FILE_OFFSET_BITS=64" "-Wall" "-Winvalid-pch" "-std=c++11" "-O0" "-g" "-pthread" "-DTRACY_EXPORTS" "-DWINVER=0x0601" "-D_WIN32_WINNT=0x0601" "-DTRACY_ENABLE" -MD -MQ subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj -MF "subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj.d" -o subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj "-c" ../subprojects/tracy-0.12.0/public/TracyClient.cpp
In file included from ../subprojects/tracy-0.12.0/public/TracyClient.cpp:23:
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp: In member function 'void tracy::Profiler::InstallCrashHandler()':
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:1514:48: error: invalid conversion from 'LPTOP_LEVEL_EXCEPTION_FILTER' {aka 'long int (*)(_EXCEPTION_POINTERS*)'} to 'void*' [-fpermissive]
 1514 |     m_prevHandler = SetUnhandledExceptionFilter( CrashFilter );
      |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~
      |                                                |
      |                                                LPTOP_LEVEL_EXCEPTION_FILTER {aka long int (*)(_EXCEPTION_POINTERS*)}
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp: In member function 'char* tracy::Profiler::SafeCopyProlog(const char*, size_t)':
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3129:5: error: expected 'catch' before '__except'
 3129 |     __except( 1 /*EXCEPTION_EXECUTE_HANDLER*/ )
      |     ^~~~~~~~
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3129:5: error: expected '(' before '__except'
 3129 |     __except( 1 /*EXCEPTION_EXECUTE_HANDLER*/ )
      |     ^~~~~~~~
      |     (
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3129:5: error: expected type-specifier before '__except'
 3129 |     __except( 1 /*EXCEPTION_EXECUTE_HANDLER*/ )
      |     ^~~~~~~~
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3129:13: error: expected ')' before '(' token
 3129 |     __except( 1 /*EXCEPTION_EXECUTE_HANDLER*/ )
      |     ~~~~~~~~^
      |             )
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3129:13: error: expected '{' before '(' token
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3129:48: error: expected ';' before '{' token
 3129 |     __except( 1 /*EXCEPTION_EXECUTE_HANDLER*/ )
      |                                                ^
      |                                                ;
 3130 |     {
      |     ~                                           
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3129:15: warning: statement has no effect [-Wunused-value]
 3129 |     __except( 1 /*EXCEPTION_EXECUTE_HANDLER*/ )
      |             ~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from ../subprojects/tracy-0.12.0/public/TracyClient.cpp:27:
../subprojects/tracy-0.12.0/public/client/TracySysTrace.cpp: At global scope:
../subprojects/tracy-0.12.0/public/client/TracySysTrace.cpp:78:32: warning: 'tracy::s_propVsync' defined but not used [-Wunused-variable]
   78 | static EVENT_TRACE_PROPERTIES* s_propVsync;
      |                                ^~~~~~~~~~~
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:282:13: warning: 'bool tracy::EnsureReadable(uintptr_t)' defined but not used [-Wunused-function]
  282 | static bool EnsureReadable( uintptr_t address )
      |             ^~~~~~~~~~~~~~
ninja: build stopped: subcommand failed.

MSYS2 CLANG64:

[1/2] Compiling C++ object subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj
FAILED: subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj 
"c++" "-Isubprojects/tracy-0.12.0/libtracy.dll.p" "-Isubprojects/tracy-0.12.0" "-I../subprojects/tracy-0.12.0" "-I../subprojects/tracy-0.12.0/public" "-fdiagnostics-color=always" "-D_LIBCPP_HARDENING_MODE=_LIBCPP_HARDENING_MODE_FAST" "-D_FILE_OFFSET_BITS=64" "-Wall" "-Winvalid-pch" "-std=c++11" "-O0" "-g" "-pthread" "-DTRACY_EXPORTS" "-DWINVER=0x0601" "-D_WIN32_WINNT=0x0601" "-DTRACY_ENABLE" -MD -MQ subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj -MF "subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj.d" -o subprojects/tracy-0.12.0/libtracy.dll.p/public_TracyClient.cpp.obj "-c" ../subprojects/tracy-0.12.0/public/TracyClient.cpp
In file included from ../subprojects/tracy-0.12.0/public/TracyClient.cpp:23:
../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:1514:21: error: assigning to 'void *' from 'LPTOP_LEVEL_EXCEPTION_FILTER' (aka 'long (*)(_EXCEPTION_POINTERS *)') converts between void pointer and function pointer

 1514 |     m_prevHandler = SetUnhandledExceptionFilter( CrashFilter );

      |                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../subprojects/tracy-0.12.0/public/client/TracyProfiler.cpp:3125:5: error: use of undeclared identifier '__try'

 3125 |     __try

      |     ^

2 errors generated.

ninja: build stopped: subcommand failed.

bgilbert avatar Jun 01 '25 05:06 bgilbert

Same issue here on my game project previously working on 0.11.0 as of 0.12.1.

  • SetUnhandledExceptionFilter() not returning void * like m_prevHandler expects, and
  • __try which is probably some unrecognized compiler primitive.

EDIT: Nevermind, fixed for me now on 1.12.2.

nitrix avatar Jun 19 '25 06:06 nitrix