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. 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文件中. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |