使用 Qt 5.8 和 SQL 库配置错误

Configure error with Qt 5.8 and SQL libraries

在构建 Qt 5.7 时,我曾经调用以下命令行:

C:\SDK\Qt\src\configure -commercial -confirm-license -debug-and-release -force-debug-info -ltcg -static -angle -nomake examples -nomake tests -qt-sql-odbc -qt-sql-sqlite -qt-zlib -D Z_PREFIX -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtpurchasing -skip qttools -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtquickcontrols2 -skip qtsensors -skip qtserialport -skip qtsvg -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -prefix C:\SDK\Qt\x64

但是,对于 Qt 5.8,此命令行失败并显示以下错误消息:

ERROR: Invalid value given for boolean command line option 'sql-odbc'.

ERROR: Invalid value given for boolean command line option 'sql-sqlite'.

根据 Qt 5.8 documentation,我的命令行似乎没问题。

我该怎么办?

显然参数已重命名。并且文档不是最新的。

正确的命令行是:

C:\SDK\Qt\src\configure -commercial -confirm-license -debug-and-release -force-debug-info -ltcg -static -angle -nomake examples -nomake tests -sql-odbc -sql-sqlite -qt-zlib -D Z_PREFIX -skip qt3d -skip qtactiveqt -skip qtandroidextras -skip qtpurchasing -skip qttools -skip qtcanvas3d -skip qtconnectivity -skip qtdatavis3d -skip qtdeclarative -skip qtdoc -skip qtgamepad -skip qtgraphicaleffects -skip qtimageformats -skip qtlocation -skip qtmacextras -skip qtmultimedia -skip qtquickcontrols2 -skip qtsensors -skip qtserialport -skip qtsvg -skip qtwayland -skip qtwebchannel -skip qtwebengine -skip qtwebsockets -skip qtwinextras -skip qtx11extras -skip qtxmlpatterns -prefix C:\SDK\Qt\x64

看来我们现在应该使用 -sql<driver> 而不是 -qt-sql<driver>