无法正确连接到 mariadb

can't connect to mariadb properly

我现在正在尝试使用c++ 实现一个服务器,我尝试将用户的信息保存到数据库中,但是在连接到数据库时遇到了一些问题。由于代码块

生成的以下错误,我无法构建我的程序
    -------------- Build: Debug in server (compiler: GNU GCC Compiler)---------------

    mingw32-g++.exe -Wall -fexceptions -g -lpthread -lmysql -I"D:\Program Files\MariaDB 10.1\include\mysql" -c D:\Projects\server\main.cpp -o obj\Debug\main.o
    mingw32-g++.exe -L"D:\Program Files\MariaDB 10.1\lib" -o bin\Debug\server.exe obj\Debug\main.o   "D:\Program Files (x86)\CodeBlocks\MinGW\lib\libwinpthread.a" "D:\Program Files (x86)\CodeBlocks\MinGW\lib\libws2_32.a"
    obj\Debug\main.o: In function `main':
    D:/Projects/server/main.cpp:13: undefined reference to `mysql_init@4'
    D:/Projects/server/main.cpp:14: undefined reference to `mysql_real_connect@32'
    collect2.exe: error: ld returned 1 exit status
    Process terminated with status 1 (0 minute(s), 2 second(s))
    3 error(s), 3 warning(s) (0 minute(s), 2 second(s))

我从它的官方网站下载了MariaDB Connector/ODBC 2.0.10 Stable,我尝试了很多在网上找到的不同解决方案,但还是不行。有人可以帮我解决这个问题吗?如有任何回复,我们将不胜感激。

GNU 链接器对选项顺序很敏感。如果您在 main 中使用 libmysql,选项 -lmysql 应在 after main.o

更新:我注意到您甚至没有在第二个链接字符串中使用库。在第一个字符串中它是无用的,添加到第二个字符串中,实际链接发生的地方。