有没有人使用Visual Studio 2013 Express成功构建Boost?
正如Boost网站所述,我对此是否可行感到困惑:
Visual Studio 2013/Visual C++ 12的已知错误.
Visual Studio 2013在发布过程中很晚才发布,因此存在一些未解决的问题.这些包括:
由于缺少include,序列化无法编译.
使用Boost.Container的allocator_traits中的has_member_function_callable_with会导致编译错误(#9332).
在诸如Unordered和MultiIndex之类的库中,使用初始化程序列表调用重载函数会导致编译错误,Visual C++声称重载是不明确的.这是一个Visual C++错误,目前尚不清楚是否有一个好的解决方法.这不会影响不使用初始化程序列表的代码,也不会使用不需要隐式转换的初始化程序列表(即容器的确切值类型的初始化程序列表).
线程:ex_scoped_thread编译失败(#9333).
但是,这张海报说可以在没有任何补丁的情况下使用VS 2013构建Boost 1.55.0.
我曾尝试使用VS 2013构建Boost,但我确实至少得到了序列化错误.
我正在尝试将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'
Run Code Online (Sandbox Code Playgroud)
我一直在寻找一些项目设置在我的整个解决方案中找出,为什么它试图加载旧的库版本,但我没有找到任何东西.
链接器如何知道要使用哪个库?我该如何解决我的问题?
我是Cmake的新手,用C++推动库.我正在开发一个需要提升和Cmake的项目.我使用的是Cmake版本2.8.11,MS Visual Studio 2013和Boost 1.54.0.当我尝试从Cmake配置时,它给出以下错误:
CMake Error at C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake:1106 (message):
Unable to find the requested Boost libraries.
Boost version: 1.54.0
Boost include path: D:/boost_1_54_0
The following Boost libraries could not be found:
boost_thread
boost_system
boost_log
boost_log_setup
boost_program_options
No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the
directory containing Boost libraries or BOOST_ROOT to the location of Boost.
Call Stack (most recent call first):
CMakeLists.txt:20 (find_package)
Run Code Online (Sandbox Code Playgroud)
我已经看到了很多与我有关的问题并尝试过,但一切都是徒劳的.我的Cmakelists.txt文件如下所示:
################################
# Boost
################################
ADD_DEFINITIONS(-DBOOST_LOG_DYN_LINK)
ADD_DEFINITIONS(-DBoost_USE_STATIC_LIBS=ON)
set_property(GLOBAL PROPERTY …
Run Code Online (Sandbox Code Playgroud)