两年前,我使用QSqlDatabase对象编写了一个示例程序,并使用依赖于静态库的Qt配置。它编译按预期运行。去年的某个时候,我使用共享库重建了配置,现在我收到以下错误。QtSql程序不能用于共享库配置
以下是错误:
main.obj : error LNK2019: unresolved external symbol "__declspec(dllimport) publ
ic: __thiscall QSqlDatabase::~QSqlDatabase(void)" ([email protected]@[email protected]
) referenced in function _main
...
debug\qtsql.exe : fatal error LNK1120: 12 unresolved externals
这里是我的包括与对象在main.cpp中实例化:
#include <Qt>
#include <QtDebug>
#include <QtSql\QSqlDatabase>
#include <QFile>
#include <QtSql\QSqlQuery>
#include <QString>
#include <QVariant>
#include <QDate>
int main()
{
QSqlDatabase db = QSqlDatabase::addDatabase("QODBC");
...
而且,这里是我的.pro文件:
TEMPLATE = app
TARGET =
DEPENDPATH += . versions
INCLUDEPATH += .
# Input
SOURCES += main.cpp
# Libraries
QMAKE_LIB_DIR += C:\\Qt\\4.7.0\\lib
我以为,.pro文件中的最后一行会给我一个链接,我可能需要在Qt中的任何库。我很不知道如何链接到Qt .dll。
我错过了什么让程序看到QSqlDatabase库?
此外,我必须指定库,即使我已经给它的头文件和库目录?
uhm你解决了你的问题吗?如何删除这个问题或给出一些反馈。 – 2011-04-03 09:03:45