我在为我的应用构建驱动程序时遇到问题。在文件qsql_ibase.pri中包含:
HEADERS += $$PWD/qsql_ibase_p.h
SOURCES += $$PWD/qsql_ibase.cpp
unix {
!contains(LIBS, .*gds.*):!contains(LIBS, .*lfb.*):LIBS += -lgds
} else {
!contains(LIBS, .*gds.*):!contains(LIBS, .*fbclient.*) {
LIBS += -lgds32
}
}
错误信息是:
cannot find -lgds32
error: ld returned 1 exit status
我使用Firebird 2.5作为superserwer 系统平台:windows 7终极版 mingw4.9.1用来构建这个
如何解决这个问题?
答案 0 :(得分:1)
我有这些文件:Firebird文件夹路径中的fbclient_ms.lib,gds32_ms.lib,ib_util_ms.lib
这里的问题是库名称不匹配。 QIBASE驱动程序需要 gds32.lib ,它是Borland包中的原始名称。 Firebird出于某种原因默认使用 fbclient.lib (或fbclient_ms.lib)。
最好的方法是制作一个名为gds32.lib的副本(甚至只是一个符号链接),正如Firebird文档实际建议的那样。