MySQL Connector和VC2010头部冲突

时间:2012-08-27 04:39:02

标签: c++ mysql collision connector

我的应用程序使用包含config.h的MySQL / C ++连接器,如下所示。

// ...
#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使这个碰撞编译错误。

我做了一些谷歌研究,但似乎没有人知道这个的完美解决方案。

任何帮助都将不胜感激。

谢谢你。

1 个答案:

答案 0 :(得分:1)

在包含MySQL标头之前,您是否尝试过#define HAVE_INT8_T(类似的,我猜其他类型也是如此)?

即。

之类的东西
...
#define HAVE_INT8_T
#include "MySQL.h"
...
编辑:如果MySQL.h包含类似“config.h”的东西,它会再次搞砸了,你可以尝试直接包含那个config.h,然后调整错误的定义,然后包含MySQL.h。在config.h周围可能会有一个包含防护措施,以防止再次包含它。