Я пытаюсь построить MySQL ++ под Cygwin.Создание MySQL ++ под Cygwin не удается найти клиентскую библиотеку MySQL
Перед тем, как можно построить 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?
Наконец-то я загрузил исходный код MySQL и построил его для создания библиотеки '.dll'. Тогда я мог бы построить MySQL ++ без проблем. Тем не менее, я постараюсь загрузить ваш новый выпуск. Я дам Вам знать. Благодарю. – Albert
Это сработало, спасибо большое. Однако у меня все еще есть проблема, что при запуске исполняемого файла он не может найти «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
Это [только Windows] (https://msdn.microsoft.com/en-us/library/7d83bc18.aspx). –