Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/142.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ Qt Creator\u连接到MySql时发生IMP错误_C++_Mysql_Xampp_Qt Creator - Fatal编程技术网

C++ Qt Creator\u连接到MySql时发生IMP错误

C++ Qt Creator\u连接到MySql时发生IMP错误,c++,mysql,xampp,qt-creator,C++,Mysql,Xampp,Qt Creator,我正在尝试创建一个应用程序,通过XAMPP连接到我的本地MySql,并将数据输出到tableWidget中 在为它编写了所有代码并更正了所有错误之后,我得到了17个关于“未定义引用`u imp\u ZN…..”的错误 第一个问题:我是否必须像使用PHP一样将所有项目文件放在XAMPP/htdocs中 第二个问题:我只在main.cpp中写了一些东西,我是否错过了其他类的一些东西,或者我是否需要在头文件中添加其他东西 我听说“imp_”问题与编译器有关,但我不确定该怎么办 不用多说,这是我的mai

我正在尝试创建一个应用程序,通过XAMPP连接到我的本地MySql,并将数据输出到tableWidget中

在为它编写了所有代码并更正了所有错误之后,我得到了17个关于“未定义引用`u imp\u ZN…..”的错误

第一个问题:我是否必须像使用PHP一样将所有项目文件放在XAMPP/htdocs中

第二个问题:我只在main.cpp中写了一些东西,我是否错过了其他类的一些东西,或者我是否需要在头文件中添加其他东西

我听说“imp_”问题与编译器有关,但我不确定该怎么办

不用多说,这是我的main.cpp

#include "mainwindow.h"
#include <QApplication>
#include <QtSql/QSql>
#include <QtGui/QtGui>
#include <QMessageBox>
#include <QtSql/QSqlDatabase>
#include <QTableWidget>
#include <QtSql/QSqlError>

int main(int argc, char *argv[])

{
QApplication a(argc, argv);
QTableWidget* tableWidget = new QTableWidget();
tableWidget->setWindowTitle("Connect to Mysql Database");
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("pizzeria mabo");
db.setUserName("root");
db.setPassword("");

if (!db.open())
{
    QSqlError err = db.lastError();
    QMessageBox::critical(0, QObject::tr("Database Error"), err.text());
}


MainWindow w;
w.show();

return a.exec();
}
#包括“mainwindow.h”
#包括
#包括
#包括
#包括
#包括
#包括
#包括
int main(int argc,char*argv[])
{
质量保证申请a(argc、argv);
QTableWidget*tableWidget=新的QTableWidget();
tableWidget->setWindowTitle(“连接到Mysql数据库”);
QSqlDatabase db=QSqlDatabase::addDatabase(“QMYSQL”);
db.setHostName(“localhost”);
db.setDatabaseName(“pizzeria mabo”);
db.setUserName(“根”);
db.setPassword(“”);
如果(!db.open())
{
QSqlError err=db.lastError();
QMessageBox::critical(0,QObject::tr(“数据库错误”),err.text();
}
主窗口w;
w、 show();
返回a.exec();
}
下面是我的错误

#include "mainwindow.h"
#include <QApplication>
#include <QtSql/QSql>
#include <QtGui/QtGui>
#include <QMessageBox>
#include <QtSql/QSqlDatabase>
#include <QTableWidget>
#include <QtSql/QSqlError>

int main(int argc, char *argv[])

{
QApplication a(argc, argv);
QTableWidget* tableWidget = new QTableWidget();
tableWidget->setWindowTitle("Connect to Mysql Database");
QSqlDatabase db = QSqlDatabase::addDatabase("QMYSQL");
db.setHostName("localhost");
db.setDatabaseName("pizzeria mabo");
db.setUserName("root");
db.setPassword("");

if (!db.open())
{
    QSqlError err = db.lastError();
    QMessageBox::critical(0, QObject::tr("Database Error"), err.text());
}


MainWindow w;
w.show();

return a.exec();
}


谢谢你的帮助

嗯,这些错误意味着您缺少一个包含必要符号的库。如果使用qmake构建项目,则必须通过“QT+=SQL”启用SQL。否则,您必须手动查找并添加库