[英]MySQL Connector and VC2010 header collision
我的应用程序使用MySQL / C ++ Connector,其中包括config.h,如下所示。
// ...
#if !defined(HAVE_INT8_T) && defined(HAVE_MS_INT8)
typedef __int8 int8_t;
#endif
// ...
由于我将VC ++ 2010与MSVCR100一起使用,因此我的应用程序还包含stdint.h。
/* TYPE DEFINITIONS */
typedef signed char int8_t;
typedef short int16_t;
typedef int int32_t;
// ...
这两个int8_t导致此冲突编译错误。
我做了一些谷歌研究,但似乎没有人知道完美的解决方案。
任何帮助将不胜感激。
非常感谢。
在包含MySQL标头之前,您是否尝试过#define HAVE_INT8_T(和类似的,我想其他类型也会发生这种情况)?
即像
...
#define HAVE_INT8_T
#include "MySQL.h"
...
编辑:如果MySQL.h包含类似“ config.h”的内容,这又使事情变糟,则可以尝试直接包含该config.h,然后调整错误的定义,然后包含MySQL.h。 config.h周围可能会有一个include保护,以防止再次包含它。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.