我最近安装了mysql connector 8.0 for c++。我一直在尝试使用教程代码来运行一个连接的基本示例(创建'session'类的示例),但是在为该类提供构造函数参数时,我总是遇到这个错误。
虽然文档声明构造函数中只使用const&strings,但连接器实际上有一个自己的字符串 Package 器实现(mysqlx::abi2::r0::string),它显然应该将字符字符串转换为api使用的任何格式。但是,每次我试图构造其中一个对象时,都会触发一个“fromutf8”函数,并出现某种错误(因此出现标题)。我无法检查函数的实现,因为它在一个dll中。
有人知道怎么解决这个问题吗?或者至少是什么原因造成的?我已经尝试用库提供的其他受支持的显式转换选项(std::u16string)初始化这个 Package 器,但随后得到了一个“错误数组长度”异常。
# include <mysqlx/xdevapi.h>
# include <iostream>
using namespace mysqlx;
int main()
{
try
{
Session sess("host", 3306, "root", "1234");
}
catch (const std::exception& e)
{
std::cout << e.what();
}
}
1条答案
按热度按时间wfypjpf41#
我猜你是在调试模式下构建的?mysql库是在发布模式下构建的,将它们混合在一起会导致此错误。将项目设置更改为release,它应该可以工作。有关内置调试,请参阅本指南