Poco C ++库:"未找到:mysql"

时间:2017-02-28 22:17:00

标签: c++ mysql linux c++11 poco-libraries

我正在使用poco-1.7.7和MySQL。我在Ubuntu上用g ++构建。构建,链接和运行工作正常。 但是,在创建数据会话时,会出现异常" 未找到: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)

1 个答案:

答案 0 :(得分:1)

经过大量调试后发现,由于某种原因,MySQL Connector未初始化。明确调用<div class="slideshow-container"> <a class="prev" onclick="plusSlides(-2)">&#10094;</a> <div style="text-align:center; padding-top: 30px;"> <span class="dot" onclick="currentSlide(0)"></span> <span class="dot" onclick="currentSlide(1)"></span> <span class="dot" onclick="currentSlide(2)"></span> <span class="dot" onclick="currentSlide(3)"></span> </div> <a class="next" onclick="plusSlides(0)">&#10095;</a> <!--Slide 1--> <div class="mySlides"> <p>Image 1</p> <img src="//dummyimage.com/600"> </div> <!--Slide 2--> <div class="mySlides"> <p>Image 2</p> <img src="//dummyimage.com/600"> </div> <!--Slide 3--> <div class="mySlides"> <p>Image 3</p> <img src="//dummyimage.com/600"> </div> <!--Silde 4--> <div class="mySlides"> <p>Image 4</p> <img src="//dummyimage.com/600"> </div> </div>解决了问题。