在 Cygwin 下构建 MySQL++ 无法找到 MySQL 客户端库
Building MySQL++ under Cygwin fails to locate the MySQL client library
我正在尝试在 Cygwin 下构建 MySQL++。
Before you can build MySQL++, you need to install the
libmysqlclient-devel package with Cygwin's setup.exe.
所以,我安装了这个包和它需要的那些。唯一创建的库是(如您所见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++ 吗?
it fails because it cannot find MySQL client libraries.
显然,自上次成功尝试以来,Cygwin 上的库命名方案发生了变化。
我已经发布了 3.2.3 版来解决这个问题。 (我是 MySQL++ 的维护者。)
顺便说一下,您链接到的 GitHub 页面只是源代码的镜像。 MySQL++的主页是here.
我正在尝试在 Cygwin 下构建 MySQL++。
Before you can build MySQL++, you need to install the
libmysqlclient-devel package with Cygwin's setup.exe.
所以,我安装了这个包和它需要的那些。唯一创建的库是(如您所见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++ 吗?
it fails because it cannot find MySQL client libraries.
显然,自上次成功尝试以来,Cygwin 上的库命名方案发生了变化。
我已经发布了 3.2.3 版来解决这个问题。 (我是 MySQL++ 的维护者。)
顺便说一下,您链接到的 GitHub 页面只是源代码的镜像。 MySQL++的主页是here.