Visual c++ 调试C2371时,是否有方法检测符号的所有定义:重新定义;不同的基本类型?

Visual c++ 调试C2371时,是否有方法检测符号的所有定义:重新定义;不同的基本类型?,visual-c++,redefinition,Visual C++,Redefinition,我似乎在我的和其他项目中不断看到编译错误,特别是在这些项目中,检测到大小被重新定义。有时,这可以追溯到x86/x64不匹配,但通常这似乎毫无意义,是我不负责的整个嵌套包含集合的结果 返回的VisualC++错误是非常无用的,只是建议重新定义而不指出第一个定义发生的地方。我正在寻找一种方法来查找所有实际参与我的构建并检测错误的定义。我已经查看了头文件,它受到保护,不会被重新定义,因此我没有更多的想法 本项目正在VC++中构建一个Arduino项目。我已经删除了与默认GCC头的所有连接,只使用了Ar

我似乎在我的和其他项目中不断看到编译错误,特别是在这些项目中,检测到大小被重新定义。有时,这可以追溯到x86/x64不匹配,但通常这似乎毫无意义,是我不负责的整个嵌套包含集合的结果

返回的VisualC++错误是非常无用的,只是建议重新定义而不指出第一个定义发生的地方。我正在寻找一种方法来查找所有实际参与我的构建并检测错误的定义。我已经查看了头文件,它受到保护,不会被重新定义,因此我没有更多的想法


本项目正在VC++中构建一个Arduino项目。我已经删除了与默认GCC头的所有连接,只使用了Arduino头路径,并且只包含一个头文件Arduino.h,一次。奇怪的是,由于没有包含任何头文件,所以定义了size\u t,但使用Arduino.h就可以了。一个必然的问题是,这个定义从何而来?

size\u t
定义为一个扩展到
的宏@#(或任何随机垃圾)。在编译器遇到的第一行提到
size\t
时,你会看到一个语法错误。我喜欢这样,不是优雅,而是狡猾和有效。