2015-12-04 1 views
1

После создания решения с cmake я столкнулся лицом к лицу с 1400 ошибками в Visual Studio во время сборки. Основная проблема заключается в том, что, похоже, никто не компилирует соединитель и просто использует предварительно скомпилированную библиотеку для своих проектов, более того, в Windows. Вот некоторые из ошибок, кажется, что timespec переопределяется еще раз, прежде всего в, а затем второй раз в my_global.h, ошибках и определениях ниже.Компиляция MySQL-коннектора с Visual Studio 2015 Win64

Итак, вопрос в том, как я могу исправить ошибки 1400?

Или, по крайней мере, некоторые советы, как избавиться от переопределения, были бы БОЛЬШИМ!

time.h #ifndef _CRT_NO_TIME_T структура TimeSpec { time_t tv_sec; // Seconds -> = 0 long 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': 'структура' типа переопределение (компиляции исходного файла C: \ Users \ DDubinin \ Downloads \ MySQL-разъем-с-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

Ошибка C2227 слева от '-> tv' должна указывать на класс/struct/union/generic type (компиляция исходного файла 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

Ошибка C2227 слева от '-> max_timeout_msec' должна указывать на класс/struct/union/generic type (компиляция исходного файла 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

+0

На самом деле, я загрузил источник для MySQL Connector C++ и создал источники на своих компьютерах. Помните, что вы должны позаботиться о том, чтобы весь проект был 64-битным или целым проектом 32-битным. Используйте «Dependency Checker» для проверки DLL. –

+0

Я предлагаю загрузить исходный код с сайта MySQL, а не GitHub. –

+0

Забыл уточнить, мне нужен MySQL Connector/C, а не C++. – SimpleCold

ответ

2

Я закрою эту проблему, удалось скомпилировать исходный код с более старой версией Visual Studio VS2013 и версией CMake 4.3.1 ...

Кажется, новые изменения в Visual Studio 2015 нарушают исходный код соединителя C, я надеюсь, что команда MySQL исправит это в будущей версии.

0

Я использовал код сервера mysql (т. Е. Mysql-5.7.13.zip) и скомпилировал из него соединитель MySQL/C.

Смежные вопросы