【问题标题】:Build driver plugin QIBASE Qt 4.7.3构建驱动插件 QIBASE Qt 4.7.3
【发布时间】:2011-06-29 06:09:40
【问题描述】:

我尝试在 Qt 4.7.3 中构建 QIBASE 驱动程序

ibase.pro

TARGET = qsqlibase

SOURCES = main.cpp

INCLUDEPATH += "C:/Program Files/Firebird/Firebird_2_0/include" "C:/QtSDK/Desktop/Qt/4.7.3/mingw/lib"

LIBS += -L"C:/Program Files/Firebird/Firebird_2_0/lib/fbclient_ms.lib" -L"C:/Program Files/Firebird/Firebird_2_0/lib/fbclient_bor.lib"

include(../../../sql/drivers/ibase/qsql_ibase.pri)

include(../qsqldriverbase.pri)

sql\drivers\ibase\qsql_ibase.pri

HEADERS += $$PWD/qsql_ibase.h
SOURCES += $$PWD/qsql_ibase.cpp

unix {
    !contains(LIBS, .*gds.*):!contains(LIBS, .*libfb.*):LIBS += -lgds
} else {
    !contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) {
        win32-borland:LIBS += fbclient_bor.lib
        else:LIBS += -lfbclient_ms
    }
}

输出:

C:\QtSDK\src\src\plugins\sqldrivers\ibase>qmake

C:\QtSDK\src\src\plugins\sqldrivers\ibase>make
make -f Makefile.Debug all
make[1]: Entering directory `C:/QtSDK/src/src/plugins/sqldrivers/ibase'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -shared -Wl,--out-implib,c:/QtSDK/src/plugins/sqldrivers/libqsq
libased4.a -o ../../../../plugins/sqldrivers/qsqlibased4.dll tmp/obj/debug_share
d/main.o tmp/obj/debug_shared/qsql_ibase.o tmp/obj/debug_shared/moc_qsql_ibase.o
  -L'c:/QtSDK/src/lib' -L'c:/QtSDK/src/lib' tmp/obj/debug_shared/qsqlibased_reso
urce_res.o "-LC:/Program Files/Firebird/Firebird_2_0/lib/fbclient_ms.lib" "-LC:/
Program Files/Firebird/Firebird_2_0/lib/fbclient_bor.lib" -lQtSqld4 -lQtCored4
c:/qtsdk/mingw/bin/../lib/gcc/mingw32/4.4.0/../../../../mingw32/bin/ld.exe: cann
ot find -lQtSqld4
collect2: ld returned 1 exit status
make[1]: *** [../../../../plugins/sqldrivers/qsqlibased4.dll] Error 1
make[1]: Leaving directory `C:/QtSDK/src/src/plugins/sqldrivers/ibase'
make: *** [debug-all] Error 2

ld.exe: 找不到 -lQtSqld4

在 C:\QtSDK\Desktop\Qt\4.7.3\mingw\lib libQtSqld4.a 中存在

在此之前我是一个错误“C:\QtSDK\src\bin moc.exe not found”,我将 moc.exe 复制到“C:\QtSDK\src\bin”中。

【问题讨论】:

    标签: c++ qt qt4 firebird


    【解决方案1】:

    问题在同事的建议下解决了

    只需要修改 ibase.pro 文件,并在源目录中指定头文件的路径,而不是在 SDK 目录中

    ibase.pro

    TARGET = qsqlibase
    
    SOURCES = main.cpp
    INCLUDEPATH += "C:/Program Files/Firebird/Firebird_2_0/include" C:/tmp/src/include
    LIBS += "C:/Program Files/Firebird/Firebird_2_0/lib/fbclient_ms.lib"
    
    include(../../../sql/drivers/ibase/qsql_ibase.pri)
    
    include(../qsqldriverbase.pri)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多