用python编译pin工具的错误包括,得到错误C2872:'UINT32':模糊符号

时间:2015-01-19 11:59:06

标签: python c++ visual-studio compiler-errors intel-pin

我正在尝试使用Python.h编译pin工具,并且有关模糊符号的错误超过100个。

我尝试将include分隔到不同的命名空间,但它产生了许多其他错误。

包括windows.h时会发生同样的情况。

所有错误如下:

D:\proj\Pin\source\include\pin\gen\types_core.TLH(67): error C2872: 'INT32' : ambiguous symbol could be 'C:\Program Files (x86)\Windows Kits\8.0\Include\shared\basetsd.h(72) : int INT32 or D:\proj\pin\Pin\source\include\pin\gen\types_foundation.TLH(88) : LEVEL_BASE::INT32' D:\proj\pin\Pin\source\include\pin\gen\types_core.TLH(81) : see reference to class template instantiation 'LEVEL_CORE::INDEX<dummy>' being compiled

您是否知道有关此问题的快速解决方法?

谢谢!

1 个答案:

答案 0 :(得分:-1)

如果要使用Windows.h标头,则必须在其自己的命名空间中使用它:

namespace WINDOWS
{
    #include <Windows.h>
}

然后使用其名称空间来使用Windows.h中的内容:

WINDOWS::DWORD foo; // use WINDOWS namespace

如果你没有为windows.h标题使用命名空间,你会发现大量的名称冲突与来自PIN本身的各种标题。

修改

记得在手册的某处提到过(参见:“Pin和Windows之间的冲突”):

https://software.intel.com/sites/landingpage/pintool/docs/65163/Pin/html/index.html#RESTRICTIONS