2009-12-29 84 views
2

對不起,我是一個初學者,從我知道有很多種類的庫和框架提供給C++語言。我的問題是,當我們使用框架和庫創建應用程序時,那麼應用程序的用戶是否需要安裝該框架或如此,因此請在他/她的PC上調用庫?謝謝您關於庫和框架的問題

回答

3

這取決於您使用的庫是靜態還是動態鏈接。在前一種情況下,它是您分發的可執行文件的一部分。在後一種情況下,它是一個額外的文件(或一組文件),帶有諸如.so或.dll之類的擴展名,這些擴展名應與應用程序一起分發。

0

最終用戶需要安裝框架。

由於您需要安裝.Net來運行一些Microsoft(和其他公司)產品。如果您的應用程序是使用GTKQt以C++編寫的。你需要安裝它們,但如果你使用的是Linux,使用KDE,Qt默認安裝在本地,對於Gnome也是如此,Mac上的Cocoa和iPhone和iPod Touch上的Cocoa-Touch也是如此。

我建議您將安裝程序的框架嵌入您的應用程序的安裝程序中。由於GIMPXchat這樣做。

0

是的,庫必須與您的應用程序捆綁/事先安裝,因爲它們是應用程序所依賴的框架。如果你不安裝框架,你的應用程序將無法工作。

0

你需要安裝一些東西,不一定是框架。一些框架,比如DirectX,有一個客戶端安裝。一些組件是簡單的dll文件,您可以使用您的軟件提供,創建一個安裝包。

+0

是否可以在不依賴任何框架或庫的情況下編碼?對不起,我知道我的問題聽起來很愚蠢。 – caramel1995 2009-12-29 01:33:04

+0

完全可以編寫一個不依賴庫的程序,是的。但是,使用靜態鏈接的庫比自己編寫所有相同的代碼要容易得多。 – greyfade 2009-12-29 05:04:45

0

通常在使用框架時,會有一個框架可重新分發(.NET,DirectX等),它可以引導到您的安裝中以安裝框架(或由最終用戶作爲「安裝」應用程序)。

許多庫只是簡單地包含在你的代碼中才能正常工作,它們自己可能有需要安裝的依賴關係,但應該調用這些依賴關係。

如果有疑問,在分發軟件包之前,請在您的目標系統(Linux,Windows等)的全新安裝中運行該軟件包,並查看它是否抱怨缺失依賴關係。將這些包含在你的軟件包中,然後重試。

您還可以查看可直接爲您處理所有這些任務的安裝系統(RPM,Apt,Windows Installer等)(或提供腳本語言以幫助您自動執行作業)。