当我使用cygwin gcc时,typedef defenition错误

时间:2012-10-08 19:18:52

标签: c gcc cygwin

这是我第一次使用cygwin gcc,之前我在linux上使用过它。 我遇到了一个我在网上找不到的问题解决方案。

我想编译C源文件并包含此源

// Value type defenitions
// --- chars --- //
typedef unsigned char UChar;
typedef char Char;
// --- short int --- //
typedef unsigned short UShort;
typedef short  Short;
// --- int --- //
typedef unsigned int UInt;
typedef int Int;
// --- long int --- //
typedef long  Long;                             // 32 bits length
typedef unsigned long  ULong;                   // unsigned 32 bits length
// --- long long int --- //
typedef unsigned long long  UBig;               // 64-bit length unsigned 
typedef long long Big;                          // 64-bit length
// --- decimals --- //
typedef float Float;
typedef double Double;
typedef long double Triple;    // 80-bit length. Actual   properties unspecified. 

并且出现了此错误

Include/null.h:6: error: redefinition of typedef 'UChar'
Include/null.h:6: error: previous declaration of 'UChar' was here
Include/null.h:7: error: redefinition of typedef 'Char'
Include/null.h:7: error: previous declaration of 'Char' was here
Include/null.h:9: error: redefinition of typedef 'UShort'
Include/null.h:9: error: previous declaration of 'UShort' was here
and so on...

谢谢你的帮助!

1 个答案:

答案 0 :(得分:2)

看起来你已经包含了相同的标题,你不止一次地输入了typedef'edthese。使用include guards可避免多次收录。