2
CMake正在尋找與我安裝的不同的boost文件,並且我不知道如何解決它。我使用的是64位Windows 7,VisualStudio Community 2015,並使用最新的64位版本Boost boost_1_58_0-msvc-12.0-64.exe。在Windows上獲取CMake以查找vc120 Boost庫
我的CMake文件的相關部分是這樣的:
SET (Boost_DEBUG ON )
SET (Boost_DETAILED_FAILURE_MSG ON )
SET (Boost_USE_STATIC_LIBS ON )
SET (Boost_USE_MULTITHREADED ON )
SET (Boost_USE_STATIC_RUNTIME OFF)
FIND_PACKAGE (Boost COMPONENTS regex date_time REQUIRED)
隨着調試和詳細消息啓用,我可以看到CMake的是找對了地方,但正在尋找「vc140」,而不是「VC120 「:
location of version.hpp: C:/boost_1_58_0/boost/version.hpp
version.hpp reveals boost 1.58.0
guessed _boost_COMPILER = -vc140
_boost_MULTITHREADED = -mt
_boost_RELEASE_ABI_TAG = -
_boost_DEBUG_ABI_TAG = -gd
_boost_LIBRARY_SEARCH_DIRS = C:\boost_1_58_0\lib64-msvc-12.0;C:\boost_1_58_0/lib;C:\boost_1_58_0/stage/lib;C:/boost_1_58_0/lib;C:/boost_1_58_0/../lib;C:/boost_1_58_0/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
Searching for REGEX_LIBRARY_RELEASE:
libboost_regex-vc140-mt-1_58;
libboost_regex-vc140-mt;
libboost_regex-mt-1_58;
libboost_regex-mt;
libboost_regex
的文件,我已經被命名爲 「120」:
>dir /b c:\boost_1_58_0\lib64-msvc-12.0\libboost_regex-*
libboost_regex-vc120-mt-1_58.lib
libboost_regex-vc120-mt-gd-1_58.lib
libboost_regex-vc120-mt-s-1_58.lib
libboost_regex-vc120-mt-sgd-1_58.lib
libboost_regex-vc120-s-1_58.lib
libboost_regex-vc120-sgd-1_58.lib
我assumi ng「120」是指VisualStudio的版本?我如何讓CMake找到vc120文件?
我不知道這是如何工作的好 - 你將要構建自己的代碼使用VC14,但鏈接與VC12構建的Boost庫。只需下載Boost源並使用VC14構建所需的庫就可能更安全? – Fraser
最後,我放棄了並回到早期版本的Visual Studio。在預發佈VS 2015中編譯一些模板代碼時遇到問題。所以我不知道@Fraser是否正確,最終會導致問題。 –