我遇到的问题与this post相同。
基本上我正在尝试编译使用Python.h
的PIN工具。
Windows.h
和PIN.h
有些类型被称为相同,并且其中任何一个都为它们声明了命名空间,因此我得到了error C2872: 'UINT32' : ambiguous symbol
问题是我的PIN工具导入PIN.h
和Python.h
(同时导入Windows.h
)并且它们都具有相同的名称类型,因此编译器不知道是什么类型是每一个,我得到模糊符号错误
我无法使用解决方案:
namespace WINDOWS
{
#include <Windows.h>
}
或
namespace PIN
{
#include <PIN.h>
}
因为对它们的引用太多需要重命名而且会很麻烦(PIN和Windows.h库很多次使用UINT32
或CONTEXT
。
有没有优雅的方法来解决这个问题?