2012-07-23 114 views

回答

21

Qt默認使用動態鏈接。

在部署到非開發人員機器時,您會立即注意到這一點,因爲如果沒有Qt庫,您的代碼將無法運行。

如果你關心的是LGPL,編譯Qt本身時要小心。大多數LGPL侵犯Qt並不是因爲靜態鏈接(因爲動態是默認的),而是用非默認參數編譯Qt。

LGPL不僅僅是必須在您的二進制文件中提供庫,還要指定用戶如何構建自己的LGPL部分。如果您自己編譯Qt並且不使用網站上的預編譯二進制文件,則必須在您的發行版中記錄您的編譯配置的那部分內容!

只要你在你的程序上運行一些東西,就開始爲沒有安裝Qt的非開發環境準備發行版本。只要刪除必須沿程序複製的DLL(或者您的操作系統使用的任何格式),程序就會失敗。

+0

我還沒有能夠在官方文檔中找到這些信息。小心提供一個來源? – rhardih 2016-09-22 19:00:25

0

它默認情況下,靜態鏈接似乎是相當多的涉及網站上的許多問題。