首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何找到用VS 2017和CMake编译的Boost文件系统库?

如何找到用VS 2017和CMake编译的Boost文件系统库?
EN

Stack Overflow用户
提问于 2017-09-30 04:32:04
回答 1查看 815关注 0票数 1

我已经用Visual Studio2017从源代码编译了Boost,并在我的CMakeLists.txt中使用CMake 3.9.3通过以下命令找到它:

代码语言:javascript
复制
find_package(Boost REQUIRED COMPONENTS filesystem)

我像这样调用CMake:

代码语言:javascript
复制
cmake -G "Visual Studio 15 2017" ..
    -DBOOST_ROOT="C:\Users\emlai\src\libs\boost_1_65_0"
    -DBOOST_LIBRARYDIR="C:\Users\emlai\src\libs\boost_1_65_0\lib64-msvc-15.0"

我得到以下消息:

代码语言:javascript
复制
CMake Error at C:/Program Files/CMake/share/cmake-3.9/Modules/FindBoost.cmake:1902 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.65.0

  Boost include path: C:/Users/emlai/src/libs/boost_1_65_0

  Could not find the following Boost libraries:

          boost_filesystem

  Some (but not all) of the required Boost libraries were found.  You may
  need to install these additional Boost libraries.  Alternatively, 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:31 (find_package)


CMake Error at C:/Program Files/CMake/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
  Could NOT find SDL2 (missing: SDL2_LIBRARY SDL2_INCLUDE_DIR)
Call Stack (most recent call first):
  C:/Program Files/CMake/share/cmake-3.9/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
  build/cmake-modules/FindSDL2.cmake:173 (FIND_PACKAGE_HANDLE_STANDARD_ARGS)
  CMakeLists.txt:42 (find_package)


-- Configuring incomplete, errors occurred!
See also "C:/Users/emlai/src/zenith/build/CMakeFiles/CMakeOutput.log".
See also "C:/Users/emlai/src/zenith/build/CMakeFiles/CMakeError.log".

dir C:\Users\emlai\src\libs\boost_1_65_0\lib64-msvc-15.0的输出显示文件系统库已经就位。

我已经尝试了here的所有答案,但没有成功。从here下载的预构建Boost库也会发生同样的情况。

我该如何解决这个问题?

EN

回答 1

Stack Overflow用户

发布于 2017-09-30 04:54:48

我需要将-DBoost_COMPILER="-vc141"传递给CMake以使其工作(-vc141与Boost库文件名中的字符串相同)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46496549

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档