id summary reporter owner description type status milestone component version severity resolution keywords cc 996 boost threads doesn't build on windows with UNICODE arvid@… Anthony Williams "in mutex.inl: if (HMODULE kernel_module = GetModuleHandle(TEXT(""KERNEL32.DLL""))) g_TryEnterCriticalSection = reinterpret_cast(GetProcAddress(kernel_module, TEXT(""TryEnterCriticalSection""))); The problem is that GetProcAddress() on windows only has ascii version and takes lpcstr as the name of the function to lookup, so if you define UNICODE to do windows unicode build, compiler complains that you're trying to pass WCHAR* as char*. A complication here is with wince, which is the opposite and only takes WCHAR* as the name of the function so the correct code should pass ""TryEnterCriticalSection"" on non-wince and L""TryEnterCriticalSection"" on wince." Bugs closed Boost 1.34.1 thread Boost 1.34.0 Showstopper fixed kkowalczyk@… witt@…