既然是regression, introduced with the new Qt build system in 5.8 is resolved,那么在构建Qt时如何指定外部依赖关系呢?构建具有外部依赖关系的Qt后5.8构建回归
我们是否回到了5.8中删除的旧(坏)语法?或者有没有新的方法来做到这一点?
既然是regression, introduced with the new Qt build system in 5.8 is resolved,那么在构建Qt时如何指定外部依赖关系呢?构建具有外部依赖关系的Qt后5.8构建回归
我们是否回到了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"
.
这样:
configure -list-libraries
获得配置库列表。对于每个FOO
从上面,提供:
FOO_PREFIX
或两者FOO_LIBDIR
和FOO_INCDIR
,FOO_LIBS
如果不为空,FOO_LIBS_DEBUG
和FOO_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"
在这里真的很具体,先前的ot 5.8通过'-LE:\ msys64 \ mingw64 \ lib -qt-sql-psql -qt-sql-mysql -l mysqlclient -IE:\ msys64 \ mingw64 \ include \ mariadb'进行配置。 ,那么我们如何将它转化为“新的和改进的构建系统”呢? – dtech
我会给最新的开发分支。但我希望这些事情有更好的记录和更直接。我的意思是说,并不是每个使用Qt的开发人员都会围绕它进行实况转换,并且还会遇到很多怪癖。它应该真的那么尴尬吗?我的意思是,如果我们从一个“统一的方式来包含任何lib”转变为“特定的方式来包含一个特殊的奇偶然支持它已经实现,那么”改进的构建系统“实际上是一个巨大的退步“ – dtech
他们都应该实施。新的构建系统不会退步。它的发布有点过早,但它最终统一了Windows和非Windows配置,允许您在自己的项目中利用配置测试,最终使Qt特性减少工作。 –
你所说的 “指定外部依赖” 的意思是。这对任何人都有意义......请提供具体的例子,说明你的意思。 –
我的意思是为sql,ssl和whatnot等东西提供库。查看错误和相关问题。 – dtech
不知道我得到你。这些选项在5.8中被**删除**这不是“工作不正常”的问题,而是“没有指定第三方库的选项”的问题。再次 - 随意发布一个包含配置字符串的答案,该配置字符串可以成功指定要在qt版本中使用的第三方库。 – dtech