2012-08-27 4 views
1

내 응용 프로그램은 아래와 같이 config.h를 포함하는 MySQL/C++ 커넥터를 사용합니다. 내 응용 프로그램도 진행 stdint.h을 포함MySQL 커넥터와 VC2010 헤더 충돌

// ... 
#if !defined(HAVE_INT8_T) && defined(HAVE_MS_INT8) 
typedef __int8   int8_t; 
#endif 
// ... 

내가 MSVCR100와 ++ 2010 VC를 사용하고 있기 때문에 ..

/* TYPE DEFINITIONS */ 
typedef signed char int8_t; 
typedef short int16_t; 
typedef int int32_t; 
// ... 

두 int8_t이 충돌 컴파일 오류가 있습니다.

Google 리서치를했는데 아무도 완벽한 해결책을 모르는 것 같습니다.

도움을 주시면 감사하겠습니다.

고마워요.

+0

http://bugs.mysql.com/bug.php?id=60307 – hansmaad

+1

관련 항목 : http://stackoverflow.com/questions/11065606/int8-t-redefinition-error-in-config-h-when -trying-to-connect-mysql-cpp-conne – Cecilia

답변

1

MySQL 헤더를 포함하기 전에 #define HAVE_INT8_T (와 비슷한, 다른 유형의 경우에도 발생합니다)를 시도 했습니까?

e.e.

... 
#define HAVE_INT8_T 
#include "MySQL.h" 
... 

편집과 같은 : MySQL.h는 다음 다음을 포함, 잘못된 정의를 조정, 직접 그 config.h의 포함을 시도 할 수 있습니다 다시 나사까지 일을하는 "config.h의"같은 것을 포함하는 경우 MySQL.h. 아마도 config.h 주위에 include guard가있어 다시 포함되지 않도록 할 것입니다.

+0

정말 고마워요! –