mysqlclient с Mingw - PullRequest
       14

mysqlclient с Mingw

1 голос
/ 05 сентября 2011

Я хочу использовать libmysqlclient для кросс-проекта, скомпилированного для Windows через mingw.Для того, чтобы связать мою программу, мне нужен «mysqlclient.a», но я не могу его получить.

Я пытался создать make-файлы для mingw в windows для клиента mysql, но шаг настройки не удался.


Я наконец смог его собрать ... используя mingw в Windows.

Вот шаги:

  1. Установить cygwin
  2. Установите пакеты make, gcc, g ++, cmake и cygidn в ваш cygwin
  3. Загрузите и распакуйте исходный код libmysql
  4. Отредактируйте файл strings / dtoa.c и замените все вхождения dtoa на что-тоеще как _dtoa для предотвращения конфликтов
  5. cd для базы пакета
  6. тип cmake -G "Unix Makefiles" в mingw
  7. make
  8. make install
  9. отредактируйте C: \ cygwin \ usr \ local \ mysql \ include \ mysql.h и добавьте #include <winsock.h> /* Bug win32 */ после #define _mysql_h
  10. Вы можете получить свои файлы в "C: \ cygwin \"usr \ local \ mysql "

Я получаю" libmysqlclient.a "и" liblibmysql.dll.a "и связываю с ними свою программу, но все равно получаю ошибку компоновщика,В чем дело ?Но я все еще получаю ошибку связывания!

strings libmysqlclient.a | grep _mysql_ping возвращает результат, в то время как компоновщик жалуется на неопределенную ссылку на `_mysql_ping @ 4 '

Ответы [ 2 ]

0 голосов
/ 29 сентября 2017

С MinGW вам рекомендуется использовать Windows * .lib файлы.

Загрузите и установите двоичный файл MySQL Connector / C для вашей платформы Windows (32-разрядная или 64-разрядная)

Затем скомпилируйте и свяжите вашу программу соответствующим образом:

g++ myprog.cpp \
-I"C:\Program Files (x86)\MySQL\MySQL Connector C 6.1\include" \
-L"C:\Program Files\MySQL\MySQL Connector C 6.1\lib" -lmysql
0 голосов
/ 17 июля 2013

MinGW и Cygwin часто не совместимы.Вы должны построить клиент MySQL в среде MinGW на 100%.

...