[英]How to use boost serialization?
我是編程方面的業余愛好者。 我想知道如何僅使用boost的序列化( https://www.boost.org/doc/libs/1_36_0/libs/serialization/doc/index.html )。
當我下載boost時,它有很多庫並且是一個大文件夾,但是我只想使用序列化庫。 我的用戶是否需要安裝所有boost才能讓我使用序列化?
我是一個完整的初學者,因此,如果您能告訴我將序列化導入我的項目所需執行的每個步驟,將不勝感激。 例如,是否必須靜態鏈接庫? 我不知道。 謝謝您的幫助。
編輯:我希望我的用戶不必處理太多。 那么,有沒有一種方法可以在沒有用戶安裝任何東西的情況下使用boost? 謝謝。
通常,您需要在運行時鏈接與“動態庫”(.dll)相匹配的“鏈接庫”(傳統上是Windows上的.lib文件)。 當然,在運行時它必須存在,因此您需要“安裝”它(以兼容的形式出現在目標計算機上,以匹配OS和體系結構)。
好消息:
請注意,您可能需要間接要求(例如Boost System)。
確實,您可以XCOPY部署與exe文件位於同一文件夾中的庫,但這並不是真正的通用方法,如果您經驗不足,則不是最佳方法。
如果您可以使用(免費的)安裝程序生成器(快速的Google會找到類似https://www.techrepublic.com/blog/five-apps/five-apps-for-creating-installation-packages/的內容 )您將享受了解所涉及復雜性的工具的指導。
我的用戶是否需要安裝所有boost才能讓我使用序列化?
當您將boost,MSVC ++和MFC運行時靜態鏈接到您的應用程序時,您將獲得一個包含所有依賴項的單個可執行文件。 然后,您的用戶所需要做的就是雙擊應用程序的.exe文件。
從頭開始構建boost庫可能很棘手,因此對於入門而言,我建議下載預構建的二進制文件 。 確保下載與您的Visual C ++版本和所構建應用程序的位數(32/64)都完全匹配的軟件包。 盡管從長遠來看,構建增強自己可能會有所幫助,所以您不必依賴最新版本VC ++的預構建二進制文件。
確保將.lib文件的目錄路徑添加到項目的庫路徑中。 您不需要指定單個.lib文件,因為boost使用自動鏈接 。 如果您需要知道,靜態lib文件的文件名中將包含“ mt-s”(例如,對於32位發行版,則包括“ libboost_serialization-vc141-mt-s-x32-1_68.lib”,而“ libboost_serialization-vc141” -mt-sgd-x32-1_68.lib”(用於32位調試版本)。
在項目設置中,請確保選擇MFC靜態庫(“常規”類別>“使用MFC”)。 另外,根據您的項目配置(C / C ++類別),還選擇“運行時庫”>“多線程”(/ MT)或“多線程調試”(/ MTd)。 如果不這樣做,則鏈接將失敗,或者您將鏈接到boost DLL。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.