我试图在Cygwin下构建MySQL ++。
在构建MySQL ++之前,您需要安装
libmysqlclient-devel包与Cygwin的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 ++吗?
答案 0 :(得分:1)
它失败了,因为它无法找到MySQL客户端库。
显然,自上次成功试用以来,Cygwin上的库命名方案发生了变化。
我已经发布了3.2.3版来修复此问题。 (我是MySQL ++的维护者。)
顺便提一下,您链接的GitHub页面只是某人的源代码镜像。 MySQL ++的主页是here。