对mariadb :: account :: create()的未定义引用

问题描述 投票:0回答:1

我想用C ++编写应用程序并在其中使用MySQL数据库。我使用了mariadbclientpp库。所以我克隆了它并在Windows vs 2019中对其进行了编译,效果很好。但是,当我想在Raspbian中执行此操作时,出现以下链接错误:

/usr/bin/ld: /tmp/ccJjO2Jo.o: in function `main':

sqltest.cpp:(.text+0xd8): undefined reference to `mariadb::account::create(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)'
collect2: error: ld returned 1 exit status

我在Linux中是一个全新的人,所以我做了很多搜索,尝试了一些修复程序,但都无济于事。我尝试过这种方式来编译我的代码:

1

g++ mysqltest.cpp  -I/usr/include/mariadb -L/usr/lib/arm-linux-gnueabihf/ -lmariadb -I/usr/local/include/mariadb++/ -L/usr/local/lib/libmariadbclientpp.a

2

 g++ -o mysqltest sqltest.cpp -lstdc++ -I/usr/include/mariadb/ $(mariadb_config --libs)

任何想法,请吗?

linux g++ raspbian mariadb-connector-c
1个回答
0
投票

我发现了问题。我是关于静态库的。静态库添加时不带-L选项,因此我将命令更改为此:

g++ mysqltest.cpp /usr/local/lib/libmariadbclientpp.a -I/usr/include/mysql

和ti完成。

© www.soinside.com 2019 - 2024. All rights reserved.