I'm having the same problem than this post.
Basically I am trying to compile a PIN tool that uses Python.h
.
There are some types that are called the same for Windows.h
and PIN.h
and either of them declared a namespace for them so I'm getting error C2872: 'UINT32' : ambiguous symbol
The problem is that my PIN tool imports PIN.h
and Python.h
(which imports at the same time Windows.h
) and both of them have same name types so the compiler doesn't know what type is each one and i'm getting the ambiguous symbols error
I cant use the solution:
namespace WINDOWS
{
#include <Windows.h>
}
or
namespace PIN
{
#include <PIN.h>
}
Because there are too many reference to them that need to be renamed and that would be a mess (PIN and Windows.h libraries uses UINT32
or CONTEXT
a lot of times).
Is there any elegant way to fix this?