[英]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.