使用外部依赖项构建 Qt post 5.8 构建回归

Building Qt with external dependencies post the 5.8 build regression

现在regression, introduced with the new Qt build system in 5.8 is resolved,构建Qt时如何指定外部依赖?

我们回到了 5.8 中删除的旧(错误)语法吗?或者有什么新的方法吗?

来自configure -help

Each uppercased library name (obtainable with -list-libraries) supports the suffixes _INCDIR, _LIBDIR, _PREFIX (INCDIR=PREFIX/include, LIBDIR=PREFIX/lib), _LIBS, and - on Windows and Darwin - _LIBS_DEBUG and _LIBS_RELEASE. E.g., ICU_PREFIX=/opt/icu42 ICU_LIBS="-licui18n -licuuc -licudata".

因此:

  1. configure -list-libraries 获取可配置库列表。
  2. 对于上面的每个 FOO,提供:

    • FOO_PREFIX FOO_LIBDIRFOO_INCDIR,
    • FOO_LIBS如果不为空,
    • 可选 FOO_LIBS_DEBUGFOO_LIBS_RELEASE 如果两个变体之间存在差异(如果 FOO_LIBS 为空则不是可选的)。

例如,要设置 MYSQL,假设 configure -list-libraries 包括 MYSQL:

configure \
  MYSQL_INCDIR=E:\msys64\mingw64\include\mariadb \
  MYSQL_LIBDIR=E:\msys64\mingw64\lib \
  MYSQL_LIBS="-l mysqlclient"