Interbase サポートを Qt にコンパイルするためにhttp://doc.qt.nokia.com/stable/sql-driver.html#qibaseの指示に従い、すべてのライブラリが適切な場所にあることを確認しました。qmake は正常に実行されますが、nmake を実行すると、qsql_ibase.cpp で一連の未定義の参照エラーが発生します。Qt Creator で .pro を開き、未定義の参照エラーをスローしている関数の 1 つにカーソルを合わせて記号 (F2) をたどると、それが宣言されている ibase.h ファイルに移動します。関数定義がないため、未定義の参照エラーがスローされていますか? その場合、ライブラリが見つからないというエラーが表示されないのはなぜですか?
出力例:
ライブラリ ファイルの作成: debug\libqsqlibased4.a debug/qsql_ibase.o: in function
getIBaseError': C:\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\ibase/../../../sql/drivers/ibase /qsql_ibase.cpp:80: undefined reference to
isc_sqlcode' C:\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\ibase/../../../sql/drivers /ibase /qsql_ibase.cpp:85: isc_dsql_free_st ament への未定義参照isc_interprete' debug/qsql_ibase.o:C:\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\ibase/../../. ./sql/drivers/ibase/qsql_ibase.cpp:406: undefined reference to
' debug/qsql_ibase.o:C:\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\ibase/../../. ./sql/drivers/ibase/qsql_ibase.cpp:421:isc_create_blob2 ' debug/qsql_ibase.o:C:\QtSDK\QtSources\4.7.4\src\plugins\sqldrivers\ibase/../../. ./sql/drivers/ibase/qsql_ibase.cpp:427: undefined reference to
isc_put_segment への未定義の参照'
これは、さらに多くのエラー、すべて未定義の参照に対して続きます。