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(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost 1.55.0 COMPONENTS thread)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
LINK_DIRECTORIES(${Boost_LIBRARY_DIRS})
add_executable (linking_with_boost main.cc sqr.cc)
target_link_libraries(linking_with_boost ${Boost_LIBRARIES})
else()
message(STATUS "Fail asdasd!")
endif()
I'm getting --Could NOT find Boost Output:
$ cmake ../
-- Could NOT find Boost
-- Fail asdasd!
-- Configuring done
-- Generating done
-- Build files have been written to: D:/ubuntu_share/programming/C++/practice/cm
ake/linking_with_boost/build_win
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
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:
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:
You need to set the environment variable
BOOST_ROOT
toc:\boost_1_55_0
before runningcmake
. Also look atcmake --help-module FindBoost
for more help.