尝试构建一个简单的mysql连接,但获得#include <iostream>
#include <stdlib.h>
#include <sstream>
#include <memory>
#include <string>
#include <stdexcept>
#include "mysql_connection.h"
#include "cppconn\driver.h"
#include "cppconn\statement.h"
#include "cppconn\connection.h"
#include "cppconn\exception.h"
#include "cppconn\prepared_statement.h"
#include "cppconn\statement.h"
using namespace std;
using namespace sql;
int main()
{
Driver *driver;
Connection *conn;
Statement *stmt;
driver = get_driver_instance();
conn = driver->connect("127.0.0.1:3306", "root", "root"); // breaks here
stmt = conn->createStatement();
stmt->execute("USE mydb");
return 0;
}
并且我无法弄清楚如何解决这个问题,即使查看类似帖子
这是我的代码
mysql-connector-c++-1.1.7
我正在使用mysqlcppconn.lib
mysqlcppconn.dll
用作依赖项
.exe
与Exception thrown at 0x000007FEFD39A06D in MysqlConn.exe: Microsoft C++ exception: std::bad_alloc at memory location 0x000000000014F5D0.
位于同一目录。
这是错误 SELECT t1.col1,t1.col2
FROM table1 AS t1
WHERE t1.col2 IN
(
SELECT DISTINCT(t2.col1) FROM table2 AS t2 WHERE t2.col2 IN
(
SELECT t3.col1
FROM table3 AS t3
WHERE t3.col2 = '04' ORDER BY t3.col1 ASC
)
ORDER BY t2.col1 ASC
)
谢谢
答案 0 :(得分:0)
我在linux上遇到了同样的错误。
错误是:我使用g++-4.8
来构建项目
问题在于用于构建项目的构建工具(gcc,msvs,clang)的版本
答案 1 :(得分:0)
我也有这个错误。就我而言,我正在Windows中使用VS2015进行编译。
我第一次选择编译MySQL lib的静态版本。然后我决定编译动态版本。这次内存中的错误bad_alloc熄灭了。
解决方案是回滚CPPCONN_PUBLIC_FUNC =配置。
转到项目属性页面,在C ++&gt;下;预处理器&gt;预处理器定义并删除项CPPCONN_PUBLIC_FUNC="
。