簡體   English   中英

如何指定要鏈接到哪個版本的Boost庫?

[英]How do I specify, which version of boost library to link to?

我正在嘗試將用VS2012編寫的項目遷移到VS2013。

我成功地編譯了boost 1.53.0(我第一次嘗試了1.54.0,但是遇到了一些編譯器錯誤),並且得到了libboost_filesystem-vc120-mt-1_53.lib

但是,當嘗試構建我的項目時,鏈接器抱怨:

error LNK1104: cannot open file 'libboost_filesystem-vc110-mt-1_53.lib'

我一直在尋找整個解決方案中的一些項目設置,以找出為什么它試圖加載舊的庫版本,但是我什么也沒找到。

鏈接器如何知道要使用哪個庫? 我該如何解決我的問題?

我在TheArtTrooper對此線程的答案中找到了問題的答案和問題的解決方案:

如何使用新的Visual Studio 2013預覽版構建增強功能?

鏈接器知道要使用哪個庫,因為它是在boost / config / auto_link.hpp中指定的。

此文件缺少處理vc120版本的幾行代碼:

#  elif defined(BOOST_MSVC) && (BOOST_MSVC < 1800)

     // vc11:
#    define BOOST_LIB_TOOLSET "vc110"

#  elif defined(BOOST_MSVC)

     // vc12:
#    define BOOST_LIB_TOOLSET "vc120"

現在它可以編譯和鏈接了!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM