2011-04-01 44 views
0

兩年前,我使用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庫?

此外,我必須指定庫,即使我已經給它的頭文件和庫目錄?

+0

uhm你解決了你的問題嗎?如何刪除這個問題或給出一些反饋。 – 2011-04-03 09:03:45

回答

2
CONFIG += qt 
QT += sql 

可能在這裏失去了(link to qmake docs)

這裏是一個link到Qt的SQL實例。也許你會在那裏找到靈感/指導。

+0

感謝您的投入Ronny。我將無法嘗試幾天的修復。 – jetimms 2011-04-03 18:43:23

+0

Ronny,你的建議幾乎奏效,但你的鏈接讓我回答。我必須對.pro文件執行此操作:CONFIG + = qt,並在下一行QT + = sql。再次感謝。 – jetimms 2011-04-04 20:07:51