VS2022通过Qt6的ODBC连接MySQL数据库时报错error LNK2019: 无法解析的外部符号 “__declspec(dllimport) public: __cdecl QSqlErr
就行了,对应Qt版本的Sql.lib。的静态依赖库加进去导致的,加上。
·
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 。
成功运行
更多推荐
已为社区贡献4条内容
所有评论(0)