无法正常连接到mariadb

时间:2016-04-15 06:56:36

标签: c++ gcc mariadb

我现在正在尝试使用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,我尝试了很多不同的解决方案,我在互联网上找到了它,但它仍然无法正常工作。任何人都可以帮我解决这个问题吗?任何回复将不胜感激。

1 个答案:

答案 0 :(得分:1)

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

UPD:我注意到你甚至没有第二个链接字符串中的库。在第一个字符串中它是无用的,添加到第二个,实际链接发生在那里。