boost庫中 不同版本載入lib的方式

2021-07-09 12:13:39 字數 823 閱讀 3857

boost庫1.53以前的並不支援vs2013編譯,只有之後的可以。所以我們需要用2013編譯後的lib檔案替換我們需要的。

boost並不需要我們手動載入lib, 因為其在boost\config\auto_link.hpp中按巨集進行了設定。
// vc11:

# define boost_lib_toolset "vc110"

# elif defined(boost_msvc) && (boost_msvc < 1900)

// vc12:

# define boost_lib_toolset "vc120"

#  pragma comment(lib, boost_lib_prefix boost_stringize(boost_lib_name) "-" boost_lib_toolset boost_lib_thread_opt boost_lib_rt_opt "-" boost_lib_version ".lib")

#  ifdef boost_lib_diagnostic

#     pragma message ("linking to lib file: " boost_lib_prefix boost_stringize(boost_lib_name) "-" boost_lib_toolset boost_lib_thread_opt boost_lib_rt_opt "-" boost_lib_version ".lib")

然後在boost/version.hpp中

#define boost_lib_version "1_60"

安裝和使用多個版本boost庫

工作需要,既需要編譯bitshares原始碼又需要編譯eos的原始碼,而兩個專案分別要求boost庫版本為1.57 1.65和1.67 所以存在boost庫安裝乙個版本不能滿足兩個專案的情況,於是就需要安裝兩個版本。我這裡考慮bitshares原始碼採用1.60,eos版本採用1.67,步驟如下 二...

詳解boost庫中的Message Queue

message queue 後文簡寫成mq或訊息佇列 是boost庫中用來封裝程序間通訊的一種實現,同一臺機器上的程序或執行緒可以通過訊息佇列來進行通迅。訊息佇列中的訊息由優先順序 訊息長度 訊息資料三部分組成。這裡需要注意的事,mq只是簡單的將要傳送的資料在記憶體中進行拷貝,所以我們在傳送複雜結構...

boost庫中的原子操作

boost庫這中有有關多執行緒的內容,粗略看書,似乎比c 11 的多執行緒好一丟丟。做個讀書筆記,以後忘了可以參考。原子操作 atomic 需要包含標頭檔案 include要用這個標頭檔案,boost庫是需要編譯的,最好是root許可權下編譯,要不會出錯。boost atomica 10 定義a為原...