我想構建一個依賴於Boost的應用程序。所以我將Boost 1_41_0下載到了我的Linux機器上,並按照Boost網站上的Unix變體 http://www.boost.org/doc/libs/1_41_0/more/getting_started/unix-variants.html的說明進行操作。在Linux上構建Boost - 庫名
他們基本上建議我運行./bjam install,這是我做的。構建成功完成。但是,庫名似乎不符合上述文檔中描述的Boost命名約定,以及我嘗試構建的應用程序的makefile中指定的內容。
我注意到有一堆選項可以指定給bjam,我試圖用這些選項來玩,但無論發生什麼事情,我似乎都無法完成它。我的理解是庫應該進入$ BOOST_ROOT/lib目錄。這是庫露面,但命名爲:
libboost_thread.a
libboost_thread.so
libboost_thread.so.1.41.0
我希望他們將被命名libboost_thread-gcc41-MT-d-1_41_0或類似的東西。
我也嘗試./bjam --build型=完全--layout =標記,我看到:
libboost_thread.a
libboost_thread-mt.a
libboost_thread-mt-d.a
libboost_thread-mt-d.so
libboost_thread-mt-d.so.1.41.0
libboost_thread-mt-s.a
libboost_thread-mt-sd.a
libboost_thread-mt.so
libboost_thread-mt.so.1.41.0
libboost_thread.so
libboost_thread.so.1.41.0
所以,我不知道我是否應該只是讓我的舞臺-L目錄?是否有任何文檔更詳細地描述了這一點?
如何構建一個支持多線程的Boost? Boost的[安裝](http://www.boost.org/doc/libs/1_54_0/doc/html/bbv2/installation.html)沒有提及它。 – jww 2013-09-25 22:29:02
建立提升時,請使用: ./b2 --build-type = complete --layout =版本號 這將生成每個庫的每個版本,包括多線程版本。 – Riot 2013-10-02 01:03:29
感謝暴動。從堆棧溢出[其他討論](http://stackoverflow.com/questions/2293962/boost-libraries-in-multithreading-aware-mode)看來,Boost默認情況下是多線程的。所以如果我執行'。/ b2',那麼我就可以不用裝飾就可以進行多線程。情況並非如此嗎? – jww 2013-10-02 03:51:23