我正在尝试使用CMake配置项目,但是即使它们位于指定的文件夹中,它也无法找到Boost库。我已经指定了Boost_INCLUDE_DIR
,Boost_LIBRARYDIR
和BOOST_ROOT
,但是我仍然收到一条错误消息,说CMake无法找到Boost。这种错误的原因可能是什么?
最佳答案
您确定自己的方法正确吗?这个想法是CMake自动设置BOOST_INCLUDE_DIR
,BOOST_LIBRARYDIR
和BOOST_ROOT
。在CMakeLists.txt
中执行以下操作:
FIND_PACKAGE(Boost)
IF (Boost_FOUND)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
ADD_DEFINITIONS( "-DHAS_BOOST" )
ENDIF()
如果boost没有安装在默认位置并且无法被CMake找到,则可以告诉CMake在哪里寻找boost,如下所示:
SET(CMAKE_INCLUDE_PATH ${CMAKE_INCLUDE_PATH} "C:/win32libs/boost")
SET(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} "C:/win32libs/boost/lib")
当然,这两行必须在
FIND_PACKAGE(Boost)
中的CMakeLists.txt
之前。关于boost - Cmake找不到Boost,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3808775/