使用Visual Studio 2015 Win64编译MySQL连接器

在使用cmake创建解决方案后,我在构建期间在Visual Studio中面对1400个错误。 主要问题是,似乎没有人编译连接器,只是将预编译库用于他们的项目,在Windows上更是如此。 以下是一些错误,似乎timespec再次被重新定义,首先是在my_global.h中,然后是第二次,错误和定义。

所以问题是,我该如何修复1400错误?

或者至少,一些建议如何摆脱重新定义将是伟大的!

time.h #ifndef _CRT_NO_TIME_T struct timespec {time_t tv_sec; //秒 – > = 0长tv_nsec; //纳秒 – [0,999999999]}; #endif my_global.h

struct timespec { union ft64 tv; /* The max timeout value in millisecond for native_cond_timedwait */ long max_timeout_msec; }; 

错误C2011’timespec’:’struct’类型重定义(编译源文件C:\ Users \ DDubinin \ Downloads \ mysql-connector-c-6.1.6-src \ mysys \ my_mess.c)mysys c:\ users \ ddubinin \ downloads \ mysql-connector-c-6.1.6-src \ include \ my_global.h 660

错误C2039’tv’:不是’timespec’的成员(编译源文件C:\ Users \ DDubinin \ Downloads \ mysql-connector-c-6.1.6-src \ mysys \ my_malloc.c)mysys c:\ users \ ddubinin \ downloads \ mysql-connector-c-6.1.6-src \ include \ my_global.h 681

‘ – > tv’左侧的错误C2227必须指向class / struct / union / generic类型(编译源文件C:\ Users \ DDubinin \ Downloads \ mysql-connector-c-6.1.6-src \ libmysql \ authentication_win \ handshake .cc)auth_win_client c:\ users \ ddubinin \ downloads \ mysql-connector-c-6.1.6-src \ include \ my_global.h 681

‘ – > max_timeout_msec’左侧的错误C2227必须指向类/ struct / union / generic类型(编译源文件C:\ Users \ DDubinin \ Downloads \ mysql-connector-c-6.1.6-src \ libmysql \ authentication_win \ plugin_client .cc)auth_win_client c:\ users \ ddubinin \ downloads \ mysql-connector-c-6.1.6-src \ include \ my_global.h 682

我将关闭此问题,设法使用较旧的VS2013 x64版本的Visual Studio和CMake 4.3.1编译源代码…

看来,Visual Studio 2015中的新变化正在破坏C连接器源代码,我希望MySQL团队能够在未来的版本中解决这个问题。

我使用了mysql服务器代码(即mysql-5.7.13.zip)并从中编译了MySQL Connector / C.