Кажется, это PITA, чтобы получить то, что я хочу: работающий MySQL Connector / C ++ на компьютере с Windows x64.
Что я уже пробовал:
- Я впервые попробовалбинарные пакеты на сайте загрузки MySQL, где мне пришлось добавить отсутствующий include-файл (sqlstring.h) из другого места (см. здесь )
- Затем мой тестовый код скомпилирован,но не запустился из-за отсутствия libmysql.dll (опять не включенного в бинарный пакет)
- Я обнаружил, что пакет Connector / C содержал эту dll, поэтому я взял ее оттуда.Теперь мой коннектор работает нормально ... в режиме отладки.Но действительно странные вещи случаются, когда я нахожусь в режиме Release.Иногда приложение закрывается без предупреждения при попытке подключения.Иногда это говорит мне, что у меня есть ошибка синтаксиса SQL в моем очень простом утверждении (
SELECT * FROM sometable
), которое прекрасно работает в режиме отладки. - Затем я обнаружил здесь , что это предпочтительнеесобрать разъем из источника, поэтому я попробовал это.Для коннектора C ++ требуется C-коннектор, и после некоторой проблемы (мне пришлось пропатчить CMakeFile.txt из-за этой ошибки ), мне удалось построить коннектор C.
- Мне также удалосьсоздать решение VS с помощью CMake для коннектора C ++, но теперь я застрял.Слишком много ошибок сборки из-за отсутствия некоторых включаемых файлов ... Я не знаю, является ли это моей конфигурацией CMake или она не работает с VS2010 или просто глючит.
Это так необычноиспользовать соединитель MySQL C ++ (построенный с VS2010) на машине Win x64?Должен быть более простой способ заставить его работать, верно?
Буду благодарен за любые подсказки.
ОБНОВЛЕНИЕ
Я думаю, что ядолжен быть более точным в моих ошибках сборки:
Сначала я добавил
<path_to_mysql_connector_cpp_build>
<path_to_mysql_connector_cpp_build>\cppconn
<path_to_mysql_connector_cpp_build>\driver\nativeapi
в каталоги mysqlcppconn
и mysqlcppconn-static
проекта, чтобы найти config.h
,cppconn/config.h
и driver/nativeapi/binding_config.h
включаемые файлы.
Но сейчас какой-то файл my_global.h
отсутствует, и я не могу его найти.Похоже, что он находится во включаемых файлах для сервера MySQL, но я подумал, что сервер не нужен для соединителя.
И я только что нашел комментарий здесь , в котором говорится, чтоСоединитель C ++ еще не совместим с VS2010 (это было в октябре 2011 года).
Так что я могу сделать, если предварительно собранные двоичные файлы с сайта загрузки MySQL не работают должным образом?