我的应用程序使用包含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使这个碰撞编译错误。
我做了一些谷歌研究,但似乎没有人知道这个的完美解决方案。
任何帮助都将不胜感激。
谢谢你。
答案 0 :(得分:1)
在包含MySQL标头之前,您是否尝试过#define HAVE_INT8_T(类似的,我猜其他类型也是如此)?
即。
之类的东西...
#define HAVE_INT8_T
#include "MySQL.h"
...
编辑:如果MySQL.h包含类似“config.h”的东西,它会再次搞砸了,你可以尝试直接包含那个config.h,然后调整错误的定义,然后包含MySQL.h。在config.h周围可能会有一个包含防护措施,以防止再次包含它。