我正在尝试使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/

10-11 02:57