-
Notifications
You must be signed in to change notification settings - Fork 270
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Compile failures with latest changeset #172
Comments
What compiler is this? |
Actually, more importantly, what version of the Windows SDK are you using? |
My guess right now is that you're using one of the latest SDKs, which have cleaned up their head includes significantly. Which means
I think the first error is due to I have commit a fix for the There remains an issue with the cast from Can you verify the header include changes for me? |
SDK - 10.0.18362.0 |
Pulling in timeapi.h opens up a few new issues, will take a look on my end as well: \windows10sdk\10.0.18362.0\include\10.0.18362.0\um\mmsyscom.h(94): error C2061: syntax error: identifier 'MMVERSION' |
Still have the WCHAR issue and the multibyte to wide with this patch: #ifdef RMT_PLATFORM_WINDOWS \remotery.c(4751): warning C4133: 'function': incompatible types - from 'WCHAR [256]' to 'const char *' |
Updates to compile: #ifdef RMT_PLATFORM_WINDOWS if (start_address >= (DWORD_PTR)module_entry.modBaseAddr && start_address <= ((DWORD_PTR)module_entry.modBaseAddr + module_entry.modBaseSize)) However it looks like the processor index is not getting set right (with the sample callback bytes) for 64bit, asserting quite early on: // Mark the processor this thread was last recorded as running on. |
Did you get the missing commit? 218175b I build on the 10 SDK here but use my own |
Ya I've got that commit locally. |
Sorry about that, try 8ce0d7c. |
Thanks for the updated diff, with that diff I'm still hitting this: It looks like on the first time through that processor_index is still -1 (4294967295). My other local changes include what is posted above (on top of your latest diff (8ce0d7c): --- old --- new --- old |
I've updated with the latest compile fixes, thanks for those. Except the WC/MB one, which I want to solve with |
The code with |
This is going to take me a couple days to sort out properly. MS has gone all-in on rearranging headers so that the same set of includes doesn't work with different SDK versions. Right now 2015 can't find |
Let me know if you have anything you want me to try out on my end, thanks! |
Something else I ran into, can file a separate issue. When nesting begin/end samples with RMTSF_None sample flag in the same scope looks to break all sampling, ex:
I don't see any samples show up after exiting the scope of Foo. Let me know if this is expected. If I remove 1 or the other scoped sample, then looks to show up fine. |
No, that should work fine, please open another issue. You should get 10 nested samples of |
I notice you posted a fix for the 64bit offsets, is this a good time for me to pull latest and see if the sample for the processor is working? |
Yes, please. I also posted a newer fix. |
@dwilliamson anything I can do here to help with repro/issue? |
So we no longer have issues with the 64-bit build at runtime, it's just compilation. The compile issue got worse with a couple recent additions and it's all to do with I can't get to this until the end of the week as work as taken over. However the steps necessary to close this are:
It's so odd that this is more difficult than getting this compiling across Windows/OSX/Linux. |
Thanks for the update! |
Wanted to pick up the latest changeset to get the PRTH message, running into failures on windows:
\remotery.c(4706): error C2143: syntax error: missing ')' before '__cdecl'
\remotery.c(4706): error C2143: syntax error: missing ';' before '__cdecl'
\remotery.c(4706): error C2059: syntax error: ')'
\remotery.c(4707): error C2065: 'NTQUERYINFOMATIONTHREAD': undeclared identifier
\remotery.c(4707): error C2146: syntax error: missing ';' before identifier 'NtQueryInformationThread'
\remotery.c(4707): error C2065: 'NtQueryInformationThread': undeclared identifier
\remotery.c(4707): error C2146: syntax error: missing ';' before identifier 'GetProcAddress'
\remotery.c(4711): error C2146: syntax error: missing ';' before identifier 'status'
\remotery.c(4711): warning C4550: expression evaluates to a function which is missing an argument list
\remotery.c(4711): error C2065: 'status': undeclared identifier
\remotery.c(4711): warning C4013: 'NtQueryInformationThread' undefined; assuming extern returning int
\remotery.c(4712): error C2065: 'status': undeclared identifier
\remotery.c(4740): warning C4311: 'type cast': pointer truncation from 'BYTE *' to 'DWORD'
\remotery.c(4743): warning C4133: 'function': incompatible types - from 'WCHAR [256]' to 'const char *'
\remotery.c(5055): warning C4013: 'timeBeginPeriod' undefined; assuming extern returning int
\remotery.c(5055): error C2065: 'TIMERR_NOERROR': undeclared identifier
\remotery.c(5235): warning C4013: 'timeEndPeriod' undefined; assuming extern returning int
\remotery.c(6219): warning C4013: 'mbstowcs_s' undefined; assuming extern returning int
The text was updated successfully, but these errors were encountered: