问题描述
我是新手,正在尝试为 MysqL 学习 xdevapi。我想在我的 Windows 设备上将它与 C++ 代码一起使用。但我很难运行示例代码。我收到了很多链接器错误。网上关于这些建筑配置的内容并不多。和互联网上的类似查询没有回复。
这是我的代码:
#include <iostream>
#include <MysqLx/xdevapi.h>
using namespace MysqLx;
// Scope controls life-time of objects such as session or schema
int main(void) {
Session mySession("MysqLx://localhost:33060/testdb?user=test&password=test");
std::list<Schema> schemaList = mySession.getSchemas();
std::cout << "Available schemas in this session:" << std::endl;
// Loop over all available schemas and print their name
for (Schema schema : schemaList) {
std::cout << schema.getName() << std::endl;
}
}
MysqL_CONCPP_DIR = C:/Program Files/MysqL/Connector C++ 8.0
CPPFLAGS = -I "$(MysqL_CONCPP_DIR)/include" -L "$(MysqL_CONCPP_DIR)/lib64"
LDLIBS = -lvs14/MysqLcppconn8 -lssleay32 -llibeay32 -lpthread
CXXFLAGS = -Wall -g3 -std=c++11
test: test.cpp
编译器输出:
g++ -Wall -g3 -std=c++11 -I "C:/Program Files/MysqL/Connector C++ 8.0/include" -L "C:/Program Files/MysqL/Connector C++ 8.0/lib64" test.cpp -lvs14/MysqLcppconn8 -lssleay32 -llibeay32 -lpthread -o test
In file included from C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/common.h:35,from C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/xdevapi.h:91,from test.cpp:3:
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/common.h:60: warning: ignoring #pragma comment [-WunkNown-pragmas]
#pragma comment(lib,"ws2_32")
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::string::string(char const*)':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/common.h:110: undefined reference to `MysqLx::string::Impl::from_utf8(MysqLx::string&,std::__cxx11::basic_string<char,std::char_traits<char>,std::allocator<char> > const&)'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::string::operator std::__cxx11::basic_string<char,std::allocator<char> >() const':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/common.h:125: undefined reference to `MysqLx::string::Impl::to_utf8[abi:cxx11](MysqLx::string const&)'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::Value::print(std::ostream&) const':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/document.h:506: undefined reference to `MysqLx::common::Value::print(std::ostream&) const'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::SessionSettings::SessionSettings(MysqLx::string const&)':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/settings.h:293: undefined reference to `MysqLx::common::Settings_impl::set_from_uri(std::__cxx11::basic_string<char,std::allocator<char> > const&)'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Session_detail::Name_src::~Name_src()':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/detail/session.h:271: undefined reference to `MysqLx::internal::Query_src::~Query_src()'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Session_detail::Name_src::~Name_src()':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/detail/session.h:271: undefined reference to `MysqLx::internal::Query_src::~Query_src()'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Session_detail::Schema_src::Schema_src(MysqLx::Session&,MysqLx::string const&)':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/detail/session.h:284: undefined reference to `MysqLx::internal::Session_detail::Name_src::Name_src(MysqLx::Session const&,MysqLx::string const&)'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Session_detail::~Session_detail()':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/detail/session.h:321: undefined reference to `MysqLx::internal::Session_detail::close()'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Session_detail::~Session_detail()':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/detail/session.h:321: undefined reference to `MysqLx::internal::Session_detail::close()'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::Session::Session(MysqLx::SessionSettings)':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/xdevapi.h:1101: undefined reference to `MysqLx::internal::Session_detail::Session_detail(MysqLx::common::Settings_impl&)'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Iterator<MysqLx::internal::Session_detail::Schema_src,MysqLx::Schema,long long,MysqLx::Schema*,MysqLx::Schema&>::Iterator(MysqLx::internal::Session_detail::Schema_src&)':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/common.h:335: undefined reference to `MysqLx::internal::Query_src::iterator_next()'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Iterator<MysqLx::internal::Session_detail::Schema_src,MysqLx::Schema&>::operator++()':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/common.h:355: undefined reference to `MysqLx::internal::Query_src::iterator_next()'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o: In function `MysqLx::internal::Iterator<MysqLx::internal::Session_detail::Schema_src,MysqLx::Schema&>::operator*() const':
C:/Program Files/MysqL/Connector C++ 8.0/include/MysqLx/devapi/common.h:367: undefined reference to `MysqLx::internal::Session_detail::Schema_src::iterator_get()'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o:test.cpp:(.rdata$_ZTCN6MysqLx5ValueE0_NS_6common5ValueE[_ZTCN6MysqLx5ValueE0_NS_6common5ValueE]+0x20): undefined reference to `MysqLx::common::Value::print(std::ostream&) const'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o:test.cpp:(.rdata$.refptr._ZTVN6MysqLx8internal9Query_srcE[.refptr._ZTVN6MysqLx8internal9Query_srcE]+0x0): undefined reference to `vtable for MysqLx::internal::Query_src'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o:test.cpp:(.rdata$.refptr._ZTVN6MysqLx5DbDocE[.refptr._ZTVN6MysqLx5DbDocE]+0x0): undefined reference to `vtable for MysqLx::DbDoc'
C:\Users\sirea\AppData\Local\Temp\ccBh6psQ.o:test.cpp:(.rdata$.refptr._ZTVN6MysqLx6common5ValueE[.refptr._ZTVN6MysqLx6common5ValueE]+0x0): undefined reference to `vtable for MysqLx::common::Value'
collect2.exe: error: ld returned 1 exit status
make: *** [<builtin>: test] Error 1
目录树连接器文件夹
Folder PATH listing for volume OS
Volume serial number is 1E28-BDAE
C:.
| BUILDINFO.txt
| LICENSE.txt
| README.txt
| res
|
+---include
| +---jdbc
| | | MysqL_connection.h
| | | MysqL_driver.h
| | | MysqL_error.h
| | |
| | \---cppconn
| | build_config.h
| | config.h
| | connection.h
| | datatype.h
| | driver.h
| | exception.h
| | Metadata.h
| | parameter_Metadata.h
| | prepared_statement.h
| | resultset.h
| | resultset_Metadata.h
| | sqlstring.h
| | statement.h
| | variant.h
| | version_info.h
| | warning.h
| |
| \---MysqLx
| | common.h
| | common_constants.h
| | xapi.h
| | xdevapi.h
| |
| +---common
| | api.h
| | error.h
| | op_if.h
| | settings.h
| | util.h
| | value.h
| |
| \---devapi
| | collations.h
| | collection_crud.h
| | common.h
| | crud.h
| | document.h
| | error.h
| | executable.h
| | MysqL_charsets.h
| | MysqL_collations.h
| | result.h
| | row.h
| | settings.h
| | table_crud.h
| |
| \---detail
| crud.h
| error.h
| result.h
| row.h
| session.h
| settings.h
|
\---lib64
| libeay32.dll
| MysqLcppconn-7-vs14.dll
| MysqLcppconn8-1-vs14.dll
| ssleay32.dll
|
\---vs14
libeay32.lib
MysqLcppconn-static.lib
MysqLcppconn.lib
MysqLcppconn8-static.lib
MysqLcppconn8.lib
ssleay32.lib
我使用的是 8.12 版本
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)