0

这是我第一次使用 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...

谢谢你的帮助!

4

1 回答 1

2

看起来您已经不止一次地包含了相同的标题,其中您有 typedef'edthese。使用包含保护来避免多重包含。

于 2012-10-08T19:27:02.397 回答