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