我正在開發一個封閉的源應用程序,並根據LGPL這樣做,我必須動態鏈接Qt的庫到我的應用程序。 Qt是否默認執行此操作,還是必須採取措施來執行此操作?如果是這種情況,我該如何去做呢?默認的Qt創建者是靜態還是動態地鏈接它的庫?
16
A
回答
21
Qt默認使用動態鏈接。
在部署到非開發人員機器時,您會立即注意到這一點,因爲如果沒有Qt庫,您的代碼將無法運行。
如果你關心的是LGPL,編譯Qt本身時要小心。大多數LGPL侵犯Qt並不是因爲靜態鏈接(因爲動態是默認的),而是用非默認參數編譯Qt。
LGPL不僅僅是必須在您的二進制文件中提供庫,還要指定用戶如何構建自己的LGPL部分。如果您自己編譯Qt並且不使用網站上的預編譯二進制文件,則必須在您的發行版中記錄您的編譯配置的那部分內容!
只要你在你的程序上運行一些東西,就開始爲沒有安裝Qt的非開發環境準備發行版本。只要刪除必須沿程序複製的DLL(或者您的操作系統使用的任何格式),程序就會失敗。
0
它默認情況下,靜態鏈接似乎是相當多的涉及網站上的許多問題。
相關問題
- 1. 什麼是靜態庫,靜態鏈接動態庫和動態鏈接動態庫的.lib文件?
- 2. Qt鏈接靜態構建庫
- 3. 編譯在Qt中創建的靜態鏈接庫的錯誤
- 4. 什麼是靜態和動態鏈接
- 5. 靜態鏈接庫和動態鏈接庫之間的區別是什麼
- 6. 數學庫是靜態鏈接的嗎?
- 7. 如何檢查生成的DLL是靜態還是動態鏈接?
- 8. 鏈接庫的靜態版本而不是動態版本
- 9. 爲iOS創建靜態鏈接庫
- 10. 如何強制庫在qt創建器中靜態鏈接
- 11. 我們應該考慮使用靜態鏈接還是動態鏈接?
- 12. 是t1靜態還是非靜態?
- 13. 檢測公有IP地址是動態還是靜態
- 14. UNIX:靜態庫鏈接到靜態庫
- 15. 靜態鏈接到動態庫。 glibc
- 16. 鏈接動態和靜態庫RCPP
- 17. 靜態和動態庫鏈接
- 18. 模板:靜態類型還是動態?
- 19. 創建靜態庫並通過預製鏈接到它
- 20. 如何在Qt Creator的共享庫中建立靜態鏈接?
- 21. 是默認靜態內部類的成員靜態在java中
- 22. 創建靜態鏈接使用的.htaccess
- 23. Android Sqllite db本質上是靜態的還是動態的?
- 24. 是否有可能將靜態庫鏈接到Visual Studio中的動態庫?
- 25. 靜態鏈接庫是否需要鏈接它們的依賴關係?
- 26. 「公共靜態」還是「靜態公共」?
- 27. 如何通過autotools確定平臺庫是靜態的還是動態的?
- 28. 靜態庫創建
- 29. 創建靜態庫
- 30. 在動態庫中鏈接Qt
我還沒有能夠在官方文檔中找到這些信息。小心提供一個來源? – rhardih 2016-09-22 19:00:25