我正在尝试使MySQL++在具有SSL支持的Debian 6上正常工作。我已经在Windows 7上测试了所有内容,并且效果很好。一切都已加密。我在将其移植到Debian时遇到了一些麻烦。
这是我的错误:terminate called after throwing an instance of 'mysqlpp::BadOption' what(): Option not supported by database driver v5.1.49
这是我设置证书文件的电话:connection->set_option(new mysqlpp::SslOption("/root/certs/client-key.pem", "/root/certs/client-cert.pem", "/root/certs/ca-cert.pem", "/root/certs", "DHE-RSA-AES256-SHA"));
我已经注意到,在配置MySQL++时,它将在libmysqlclient中查找mysql_ssl_set()。它找不到该功能。checking for mysql_ssl_set in -l... no
最佳答案
该错误已在今天发布的MySQL++ 3.2.0中修复。
在旧版本中,mysql_ssl_set()
的测试中存在错误。如果您不能使用当前版本,但可以修补您版本的源代码,则可以解决此问题:
Index: config/mysql_ssl.m4
===================================================================
--- config/mysql_ssl.m4 (revision 2696)
+++ config/mysql_ssl.m4 (working copy)
@@ -10,7 +10,7 @@
#
# Check for mysql_ssl_set() in libmysqlclient(_r)
#
- AC_CHECK_LIB($MYSQL_C_LIB, mysql_ssl_set, [
+ AC_CHECK_LIB($MYSQL_C_LIB_NAME, mysql_ssl_set, [
AC_DEFINE(HAVE_MYSQL_SSL_SET,, Define if your MySQL library has SSL functions)
]) dnl AC_CHECK_LIB(mysqlclient, mysql_ssl_set)
]) dnl MYSQL_WITH_SSL
然后,您将需要重新引导源树并进行重建。
关于c++ - Linux上的MySQL++ SSL支持,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7794408/