mysql c++ connector 编译问题,直接上代码
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql c++ connector 编译问题,直接上代码相关的知识,希望对你有一定的参考价值。
OBJS = test.o
CC = g++
FLAGS = -O -g
SQL_H =/home/mysql/mysql-connector-c++-1.0.5-linux-glibc2.3-x86-32bit/include
SQL_LIB =/home/mysql/mysql-connector-c++-1.0.5-linux-glibc2.3-x86-32bit/lib
LIBS=mysqlcppconn
test: $(OBJS)
test.o : sqltest.cpp
$(CC) sqltest.cpp -l$(LIBS) -I$(SQL_H) -L$(SQL_LIB)
clean:
rm -rf *.o test
编译的时候报错....
/home/mysql/mysql-connector-c++-1.0.5-linux-glibc2.3-x86-32bit/lib/libmysqlcppconn.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::reserve(unsigned int)@GLIBCPP_3.2'
/home/mysql/mysql-connector-c++-1.0.5-linux-glibc2.3-x86-32bit/lib/libmysqlcppconn.so: undefined reference to `std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)@GLIBCPP_3.2'
/home/mysql/mysql-connector-c++-1.0.5-linux-glibc2.3-x86-32bit/lib/libmysqlcppconn.so: undefined reference to `std::__throw_length_error(char const*)@GLIBCPP_3.2'
/home/mysql/mysql-connector-c++-1.0.5-linux-glibc2.3-x86-32bit/lib/libmysqlcppconn.so: undefined reference to `std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const@GLIBCPP_3.2'
后面还有一大片,看样子是说缺乏标准库,但是我的/usr/lib下面是有libstdc++这个库的,而且我编译也用的是g++.....怎么还会少标准库呢...???
我记得应该有默认的mysql的环境变量的
连接器 c++ rs->getBoolean 访问冲突
【中文标题】连接器 c++ rs->getBoolean 访问冲突【英文标题】:Connector c++ res->getBoolean Acess Violation 【发布时间】:2014-11-14 10:20:09 【问题描述】:我在Visual Studio 2013
中使用mysql-connector-c++-1.1.4-winx64
。
连接到特定数据库并读取整数值是可行的,但是无法检索任何布尔值。
我可以编译包含附加代码的程序,但程序关闭检索:
“程序 '[3480] Project1.exe: Managed (v4.0.30319)' 已退出 代码为 -1073741819 (0xc0000005) '访问冲突'。"
感谢您的帮助!
const char* idQuery = "SELECT EXISTS (SELECT id FROM experiment_results WHERE id='22');";
stmt = con->createStatement();
stmt->execute(idQuery);
while (res->next())
bool flag = res->getBoolean(1);
【问题讨论】:
他们的查询是空的。仔细检查它,你会发现它可能试图访问空数据。 我是否需要对此进行进一步解释。 “SELECT EXISTS(Query)”不应该独立于“Query”的返回值,总是检索真或假吗? 【参考方案1】:再次查看代码后,我发现了我的错误: stmt->执行(idQuery); // 应该: res = stmt->executeQuery(idQuery);
【讨论】:
以上是关于mysql c++ connector 编译问题,直接上代码的主要内容,如果未能解决你的问题,请参考以下文章
使用 pyinstaller 编译时“除外”期间的 mysql.connector 错误?
在Ubuntu上使用VSCode编译MySQL Connector/C连接库
mysql-connector-c++ - ‘get_driver_instance’ 不是 ‘sql::mysql’ 的成员