既然是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