0

我正在尝试使用 Windows 中的 qt 应用程序连接到 SQL Server 2008R2,但出现错误。这就是我正在做的事情:

#include "ui_test1.h";
#include "QtSql/QtSql";

void Test1::on_btnsnd_clicked()
{
    QSqlDatabase db = QSqlDatabase::addDatabase("ODBC");

    db.setHostName("ITPL_PC1");
    db.setDatabaseName("Test");
    db.setUserName("sa");
    db.setPassword("insforia");
    db.open();
    QSqlQueryModel *model = new QSqlQueryModel;

    QString query = "insert into qttable(PID) values('ARUP')";
    model->setQuery(query, db);

    db.close();
}

我收到此错误 27 次:

 test1.obj:-1: error: LNK2019: unresolved external symbol "__declspec(dllimport)        public: __thiscall QSqlDatabase::~QSqlDatabase(void)" (__imp_??1QSqlDatabase@@QAE@XZ) referenced in function "private: void __thiscall Test1::on_btnsnd_clicked(void)" (?on_btnsnd_clicked@Test1@@AAEXXZ)

我不知道该怎么做(我在谷歌找到了这个。)

我应该怎么做才能修复它?

4

1 回答 1

1

如果您使用 MSVC,您应该添加%QTDIR%/lib/QtSql4.lib到项目的发布配置和%QTDIR%/lib/QtSqld4.lib调试之一。如果您使用 Qt 5.0,您应该将4文件名更改为 。500所以,文件名是%QTDIR%/lib/QtSql500.lib%QTDIR%/lib/QtSqld500.lib

项目属性


如果您使用 QtCreator,您应该在.pro文件中添加下一行

QT += sql

更新:添加了 QtCreator.pro文件的描述

于 2013-01-25T13:37:23.220 回答