我想靜態鏈接增強庫(boost/thread.hpp和boost/asio.hpp)到我的項目使用VS2012 express。構建目標設置爲Windows XP(v110_xp),並帶有選項Multithreaded(/ MT)(靜態鏈接)。我的項目屬性中正確設置了boost庫的路徑。 (C:\升壓\ boost_1_54_0 \級\ LIB)不過,我得到下面的連接錯誤:無法鏈接到使用VS2012,而動態鏈接工作正常的靜態增強庫
error LNK1104: file "libboost_system-vc110-mt-s-1_54.lib" cannot be opened.
該文件確實是在我的庫文件夾丟失。但是,當使用多線程DLL(/ MD)選項動態鏈接時,一切都很好。我原來使用簡單的構建方法構建Boost庫如下所述:http://www.boost.org/doc/libs/1_54_0/more/getting_started/windows.html#simplified-build-from-source
bootstrap
.\b2
由於apperently靜態庫丟失,我叫:
b2 --link=static
如在這裏描述:http://www.boost.org/boost-build2/doc/html/bbv2/tutorial/linkage.html
這個執行沒有錯誤,但似乎沒有建立任何新東西。我錯過了什麼?或者VS在尋找一個永不存在的文件?當我在搜索錯誤時沒有真正幫助,我很驚訝地發現一些點擊。
如果我沒有完全關閉,使用'--link = static'只會告訴Boost構建過程靜態鏈接它的DLL,而不是實際創建靜態庫。 –