2016-12-29 5 views
0

Я пытаюсь построить MySQL ++ под Cygwin.Создание MySQL ++ под Cygwin не удается найти клиентскую библиотеку MySQL

По its documentation:

Перед тем, как можно построить MySQL ++, вам необходимо установить libmysqlclient-разви пакет
с setup.exe Cygwin в.

Итак, я установил этот пакет и те, которые ему требуются. Только библиотеки создаваемые (как вы можете видеть in this link):

2016-11-10 08:59  702424 usr/lib/libmysqlclient.dll.a 
2016-11-10 09:16   0 usr/lib/libmysqlclient_r.dll.a -> libmysqlclient.dll.a 

Тогда я бегу ./configure для создания Makefile.

Однако это не удается, потому что оно не может найти клиентские библиотеки MySQL. configure сценарий говорит:

checking for MySQL library directory... configure: error: Didn't find 
mysqlclient library in '/usr/lib64 /usr/lib /usr/lib64/mysql 
/usr/lib/mysql /usr/local/lib64 /usr/local/lib /usr/local/lib/mysql 
/usr/local/mysql/lib /usr/local/mysql/lib/mysql /usr/mysql/lib/mysql 
/opt/mysql/lib /opt/mysql/lib/mysql /sw/lib /sw/lib/mysql' 

копания в файл configure, я могу видеть:

do 
    if test -d "$m" && \ 
     (test -f "$m/lib$MYSQL_C_LIB_NAME.so" || \ 
     test -f "$m/lib$MYSQL_C_LIB_NAME.a") 
    then 
     MYSQL_C_LIB_DIR=$m 
     break 
    fi 
done 

Таким образом, он ищет общую библиотеку или статическую библиотеку, но libmysqlclient-devel не устанавливать либо из тех, , только библиотека импорта (dll.a).

Тем не менее, клиентские библиотеки MySQL работают. Я могу запустить простую программу C для подключения и получения данных с моего сервера MySQL с флагами: -I/usr/include/mysql -L/usr/lib -lmysqlclient, и он отлично работает.

Итак, любой намек? Вы знаете, как я могу построить MySQL ++ без создания клиентских библиотек MySQL из исходного кода MySQL?

ответ

1

сбой, поскольку он не может найти клиентские библиотеки MySQL.

Очевидно, что схема именования библиотек изменилась на Cygwin с момента последнего успешного использования.

Я выпустил версию 3.2.3, чтобы исправить это. (Я поддерживаю MySQL ++.)

Кстати, страница GitHub, с которой вы связались, является чье-то зеркалом исходного кода. Домашняя страница MySQL ++ - here.

+0

Наконец-то я загрузил исходный код MySQL и построил его для создания библиотеки '.dll'. Тогда я мог бы построить MySQL ++ без проблем. Тем не менее, я постараюсь загрузить ваш новый выпуск. Я дам Вам знать. Благодарю. – Albert

+0

Это сработало, спасибо большое. Однако у меня все еще есть проблема, что при запуске исполняемого файла он не может найти «cygmysqlpp-3.dll». Он скомпилирован: 'g ++ -o testConnection testConnection.cpp -I/usr/local/include/mysql ++ -L/usr/local/lib -lmysqlpp $ (/ usr/bin/mysql_config --cflags -libs)'. Единственный способ заставить его работать, - это копирование '.dll' на том же пути, где выполняется. Я думаю, это нормальное поведение для запуска под cygwin, не так ли? – Albert

+0

Это [только Windows] (https://msdn.microsoft.com/en-us/library/7d83bc18.aspx). –