test.h

#pragma once

#include <QtWidgets/QMainWindow>
#include "ui_test1.h"

class test1 : public QMainWindow
{
    Q_OBJECT

public:
    test1(QWidget *parent = nullptr);
    ~test1();

private:
    Ui::test1Class ui;
};

test.cpp

#include "test1.h"

test1::test1(QWidget *parent)
    : QMainWindow(parent)
{
    ui.setupUi(this);
}

test1::~test1()
{}

main.cpp

#include "test1.h"
#include <QtWidgets/QApplication>
#include<QtSql/QSqlDatabase>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
    db.setHostName("localhost");
    db.setUserName("root");
    db.setPort(3306);
    db.setPassword("2145");
    db.open();
    test1 w;
    w.show();
    return a.exec();
}

 运行直接报错

这个问题显然是VS2022没有把QtSql的静态依赖库加进去导致的,先确定QT6的lib目录有没有加载到项目中

然后加上Qt6Sql.lib或者Qt5Sql.lib就行了,对应Qt版本的Sql.lib 。

成功运行

 

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐