2017-04-17 36 views
1

我們在Qt 5.4中開發了我們的應用程序,該應用程序作爲SDK(dylib)提供,以便與其他應用程序集成。所有依賴庫都隨SDK一起提供(Qt 5.4.x二進制文件)。 但是,當客戶試圖將我們的SDK集成到他的應用程序中時,我們遇到了一個問題。該應用程序正在使用一個具有Qt 5.3.x依賴項的組件。我們的SDK沒有與應用程序一起工作。這個問題是由於平臺中的「libqcocoa」是共享的,這導致了崩潰。在應用程序中加載Qt庫(不同版本)

應用程序能否加載兩個不同的Qt二進制文件(帶/不帶名稱空間)?如果是的話,這可以安全地照顧? (應用程序在Mac中)

我還需要說明的是,使用不同Qt版本的組件可以獨立更新。通常遵循的最佳做法是什麼?請建議。

回答

0

您對Qt的使用通常是一個實現細節。通過使用私有框架或靜態鏈接Qt來隱藏它。另外,如果您需要與用戶的Qt進行互操作,請添加一個小型開放源代碼接口,將相關的Qt API轉發給您的代碼。您會驚訝於大多數Qt代碼使用的很少。該界面最多可能會有幾千行,並且可以通過機器生成。

相關問題