CGAL-Microsoft Visual Studio 2013-32位-找不到以下静态Boost库:Boost_线程、Boost_系统

CGAL-Microsoft Visual Studio 2013-32位-找不到以下静态Boost库:Boost_线程、Boost_系统,boost,cgal,Boost,Cgal,下面是下一个安装指南: 并获得以下cmake错误: BOOST\u LIBRARYDIR=C:/dev/libboost\u 1\u 67\u 0/lib32-msvc-12.0 BOOST\u ROOT=C:/dev/libboost\u 1\u 67\u 0/ [ C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1483 ] Searching for THREAD_LIBRARY_RELEASE: libboo

下面是下一个安装指南:

并获得以下cmake错误:

BOOST\u LIBRARYDIR=C:/dev/libboost\u 1\u 67\u 0/lib32-msvc-12.0

BOOST\u ROOT=C:/dev/libboost\u 1\u 67\u 0/

[ C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1483 ] Searching for THREAD_LIBRARY_RELEASE: libboost_thread-vc120-mt-1_67;libboost_thread-vc120-mt;libboost_thread-mt-1_67;libboost_thread-mt;libboost_thread;libboost_thread-vc120-mt-s-1_67;libboost_thread-vc120-mt-s;libboost_thread-mt-s-1_67;libboost_thread-mt-s
[ C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1525 ] Searching for THREAD_LIBRARY_DEBUG: libboost_thread-vc120-mt-gd-1_67;libboost_thread-vc120-mt-gd;libboost_thread-mt-gd-1_67;libboost_thread-mt-gd;libboost_thread-mt;libboost_thread;libboost_thread-vc120-mt-s-gd-1_67;libboost_thread-vc120-mt-s-gd;libboost_thread-mt-s-gd-1_67;libboost_thread-mt-s-gd
[ C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1483 ] Searching for SYSTEM_LIBRARY_RELEASE: libboost_system-vc120-mt-1_67;libboost_system-vc120-mt;libboost_system-mt-1_67;libboost_system-mt;libboost_system;libboost_system-vc120-mt-s-1_67;libboost_system-vc120-mt-s;libboost_system-mt-s-1_67;libboost_system-mt-s
[ C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1525 ] Searching for SYSTEM_LIBRARY_DEBUG: libboost_system-vc120-mt-gd-1_67;libboost_system-vc120-mt-gd;libboost_system-mt-gd-1_67;libboost_system-mt-gd;libboost_system-mt;libboost_system;libboost_system-vc120-mt-s-gd-1_67;libboost_system-vc120-mt-s-gd;libboost_system-mt-s-gd-1_67;libboost_system-mt-s-gd
[ C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1595 ] Boost_FOUND = 1
CMake Error at C:/Program Files/CMake/share/cmake-3.6/Modules/FindBoost.cmake:1753 (message):
  Unable to find the requested Boost libraries.

  Boost version: 1.67.0

  Boost include path: C:/dev/libboost_1_67_0

  Could not find the following static Boost libraries:

          boost_thread
          boost_system

  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):
  cmake/modules/CGAL_SetupBoost.cmake:48 (find_package)
  cmake/modules/CGAL_SetupDependencies.cmake:85 (include)
  CMakeLists.txt:674 (include)


Boost include dirs: C:/dev/libboost_1_67_0
Boost libraries:    
== Detect external libraries (DONE) ==
我尝试了很多方法来解决这个问题:

  • 使用二进制文件:
  • 编译boost:
  • C:\boost\u 1\u 67\u 0>b2 toolset=msvc-12.0 variant=debug,release link=static runtime link=static threading=single,multi--prefix=C:\boost\u 1\u 67\u 0\build

    C:\boost\u 1\u 67\u 0>b2 toolset=msvc-12.0 variant=debug,release link=static runtime link=static threading=single,multi--prefix=C:\boost\u 1\u 67\u 0\build install

    在所有方面,结果都是一样的:

    libboost_线程-vc120-mt-gd-x32-1_67.lib, libboost_-thread-vc120-mt-s-x32-1_67.lib, libboost_线程-vc120-mt-sgd-x32-1_67.lib, libboost_线程-vc120-mt-x32-1_67.lib

    libboost_系统-vc120-mt-gd-x32-1_67.lib, libboost_system-vc120-mt-s-x32-1_67.lib, libboost_system-vc120-mt-sgd-x32-1_67.lib, libboost_system-vc120-mt-x32-1_67.lib

    问题在于cmake正在搜索名为:

    XXXXXXXXXXXXX-vc120-mt-1_67

    但boost二进制文件只有:

    XXXXXXXXXXXXX-vc120-mt-x32-1\u 67.lib


    如何解决此问题?

    您可以通过使用-D选项指定boost库的路径来覆盖FindBoost机制:

    cmake -DBoost_THREAD_LIBRARY_RELEASE=C:/dev/libboost_1_67_0/lib32-msvc-12.0/libboost_thread-vc120-mt-gd-x32-1_67.lib -DBoost_SYSTEM_LIBRARY_RELEASE=... <path_to_CGAL_root>
    
    cmake-DBoost\u THREAD\u LIBRARY\u RELEASE=C:/dev/libboost\u 1\u 67\u 0/lib32-msvc-12.0/libboost\u THREAD-vc120-mt-gd-x32-1\u 67.lib-DBoost\u SYSTEM\u LIBRARY\u RELEASE=。。。
    
    或者在cmake GUI的GUI中指定它们(如果正在使用)

    编辑:显然,您还可以将您的cmake版本升级到最新版本(3.11.2),该版本应具有与Boost 1.67.0兼容的FindBoost