在 Cygwin 下构建 MySQL++ 无法找到 MySQL 客户端库

Building MySQL++ under Cygwin fails to locate the MySQL client library

我正在尝试在 Cygwin 下构建 MySQL++。

根据its documentation

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.