find_package() doesn't detect boost on Windows Cmake

后端 未结 4 553
广开言路
广开言路 2020-12-23 15:21

I\'m using a windows system. I want to use the Boost library using CMake. I\'ve installed boost on C:\\boost_1_55_0\\ Here is my CMakeLists.txt file

set(Boos         


        
相关标签:
4条回答
  • 2020-12-23 16:02

    In addition to the BOOST_ROOT I also had to set the BOOST_LIBRARYDIR variable to succeed. In my case this was c:\Program Files\boost_1_56_0\lib64-msvc-12.0

    0 讨论(0)
  • 2020-12-23 16:04

    On Windows 7 x64 I have Boost 1.58 installed to C:\SDKs\boost_1_58_0. In order to allow cMake to find all of the appropriate files, I had to add the following three system variables:

        BOOST_INCLUDEDIR    C:\SDKs\boost_1_58_0\
        BOOST_LIBRARYDIR    C:\SDKs\boost_1_58_0\lib64-msvc-12.0
        BOOST_ROOT          C:\SDKs\boost_1_58_0\boost
    
    0 讨论(0)
  • 2020-12-23 16:04

    You need to set the environment variable BOOST_ROOT to c:\boost_1_55_0 before running cmake. Also look at cmake --help-module FindBoost for more help.

    0 讨论(0)
  • 2020-12-23 16:04

    I spent many hours on this issue and finally resolved it by using a few variables outlined in FindBoost manual here https://cmake.org/cmake/help/v3.0/module/FindBoost.html

    Following variables helped me:

    set (Boost_DETAILED_FAILURE_MSG ON)
    set (Boost_THREADAPI win32)
    set (BOOST_ROOT "/boost_1_40_0")
    set (Boost_LIBRARY_DIR  "/boost_1_40_0/lib")
    set (Boost_COMPILER "-vc")
    set (Boost_USE_STATIC_RUNTIME ON)  
    set (Boost_DEBUG ON)  #<---------- Real life saver
    
    0 讨论(0)
提交回复
热议问题