0

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?

Community
  • 1
  • 1
user1618465
  • 1,813
  • 2
  • 32
  • 58
  • hi, how did you solve this problem? – Anurag May 30 '16 at 07:33
  • I dindn't find away to fix it and since PIN is closed source... They should encapsulate the PIN include in a namespace but for big already existing projects its a mess dealing with it :/ – user1618465 May 31 '16 at 19:50

0 Answers0