gpt4 book ai didi

c++ - Poco C++ 库 : "Not found: mysql"

转载 作者:太空宇宙 更新时间:2023-11-04 10:23:57 30 4
gpt4 key购买 nike

我在 MySQL 中使用 poco-1.7.7。我在 Ubuntu 上用 g++ 构建。构建、链接和运行工作正常。但是,创建Data Session时,会抛出异常“Not found: mysql”:

std::string str = Poco::format("host=%s;user=%s;password=%s;compress=true;auto-reconnect=true;secure-auth=true", _mySQLParams.host, _mySQLParams.user, _mySQLParams.password);
_session = new Poco::Data::Session(Poco::Data::SessionFactory::instance().create(Poco::Data::MySQL::Connector::KEY, str));

mysql 客户端已安装并且是 $PATH 的一部分。

附加信息:我正在使用 Docker 运行 Ubuntu。请参阅下面的 Makefile。同样的代码在MacOSX上编译运行时可以连接到MySQL。

你知道这里出了什么问题吗?

Makefile 中的片段:

CXX=g++
HEADER_SEARCH_PATH=-I"../../Core/Application/" -I"../../Core/Model/" -I"../../Core/Object/" -I"../../Core/UserInterface/" -I"/usr/local/include/" -I"/usr/include/mysql"
LIB_SEARCH_PATH=-L/usr/local/lib -L/usr/lib/x86_64-linux-gnu
LIBS=-l"PocoJSON" -l"PocoXML" -l"PocoUtil" -l"PocoNet" -l"PocoFoundation" -l"crypto" -l"ssl" -l"PocoCrypto" -l"PocoData" -l"PocoDataMySQL" `pkg-config --libs --cflags icu-uc icu-io`
PPD=-DMPS_MYSQL=1
CXXFLAGS=-std=c++11 -g -m64 -pthread -Wl,--verbose -fabi-version=2 -fno-omit-frame-pointer $(HEADER_SEARCH_PATH) $(PPD)

最佳答案

经过大量调试后我发现,出于某种原因,MySQL 连接器未初始化。显式调用 Poco::Data::MySQL::Connector::registerConnector(); 解决了这个问题。

关于c++ - Poco C++ 库 : "Not found: mysql",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42519758/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com