加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c – qt:未定义引用’mysql_something @ nr’

发布时间:2020-12-16 09:32:01 所属栏目:百科 来源:网络整理
导读:我现在真的被困住了,每当我尝试编译我的c程序时,我得到这样的输出: release/dialog.o:dialog.cpp:(.text+0x9e): undefined reference to `mysql_init@4'release/dialog.o:dialog.cpp:(.text+0xe1): undefined reference to `mysql_real_connect@32' 浏览一
我现在真的被困住了,每当我尝试编译我的c程序时,我得到这样的输出:

release/dialog.o:dialog.cpp:(.text+0x9e): undefined reference to `mysql_init@4'
release/dialog.o:dialog.cpp:(.text+0xe1): undefined reference to `mysql_real_connect@32'

浏览一整天,找到解决方法,教程,无论如何,阅读教程,卸载mingw,mysql服务器,qt并再次安装所有内容.我再次删除qt并从源代码构建它…转换libmysql.dll与0.3 mingw-utils reimp.exe和dlltools.exe等等,没有任何帮助.

在使用QT(只是记事本和mingw)之前,我还有链接器警告,告诉我一些关于stdcall-fixup-disable的事情,但编程和编译的程序.

后来我会重新安装一切,我认为,目前的设置并没有比其他安装更好,我甚至不知道我从源头建立qt.
是否有任何简单(正常,简单)的方式让Qt,MinGW,C,MySQL5.5一起工作?

edit2:我现在更正了代码,我让它工作,这是一些最小的代码片段开头:

#include <QtCore/QCoreApplication>
#include <QMYSQLDriver>
#include <qsqldatabase.h>
#include <QtSql>

int main(int argc,char *argv[])
{
    QCoreApplication app(argc,argv);

    QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
    db.setHostName("localhost");
    // insert other connection options here

    if(!db.open()){
        // dp not open,add some debug text and stuff,exit or retry
    }

    //db should be open at this place,add code here

    return app.exec();
}

解决方法

听起来你需要将mysql库添加到构建过程中.如果您正在使用Qt的qmake系统,例如:

LIBS += -L/wherever/the/mysql/lib/is -lmysql

在项目的.pro文件中.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读