Mongoose Hello.c编译错误

时间:2013-03-26 14:24:43

标签: c mongoose-web-server

我正在尝试编译使用mongoose在示例下提供的hello.c。我一直收到错误:

mongoose.c:4752:27: error: '_strtoi64' was not declared in this scope

我查看了mongoose.c,_strtoi64在第109行定义:

#if defined(_MSC_VER) && _MSC_VER < 1300
#define STRX(x) #x    
#define STR(x) STRX(x)    
#define __func__ __FILE__ ":" STR(__LINE__)
#define strtoull(x, y, z) strtoul(x, y, z)    
#define strtoll(x, y, z) strtol(x, y, z)    
#else    
#define __func__  __FUNCTION__    
#define strtoull(x, y, z) _strtoui64(x, y, z)    
#define strtoll(x, y, z) _strtoi64(x, y, z)    
#endif // _MSC_VER

我尝试将if定义为if但是我得到了同样的错误 我看见: link 但它看起来像我已经在那里“修复”的代码版本。

我看了一些其他的介绍猫鼬问题,但我没有遇到任何问题。

提前致谢

1 个答案:

答案 0 :(得分:2)

我不认为Microsoft Visual C ++是一个有效的C编译器。它支持C89,它主要与C ++具有子集兼容性。然而,自C89以来,又采用了两个标准:C99和C11。建议C编译器不能从1999编译C代码是不合理的。有效的C99编译器将正确编译此代码。

简而言之,使用C编译器编译C代码和C ++编译器来编译C ++代码。如果需要将某些C代码链接到C ++项目,请使用C编译器编译C代码,并使用C ++链接器将其链接到C ++项目。

相关问题