提升 - CMake找不到lib

时间:2015-11-21 15:35:05

标签: boost cmake

我尝试在Windows上的CMakeList中链接Boost库。这是我的代码:

set(BOOST_ROOT C:/lib/boost_1_59_0)
set(BOOST_LIBRARYDIR C:/lib/boost_1_59_0/lib)
find_package(Boost COMPONENTS system REQUIRED)
if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS})
    target_link_libraries(${EXECUTABLE_NAME} ${Boost_LIBRARIES})
endif()

我的文件夹" lib"包含bjam构建的所有lib,包括" libboost_system-vc140-mt-1_59.lib"和" libboost_system-vc140-mt-gd-1_59.lib"。

它适用于标题,但它找不到libs。我有这个错误:

Error:Unable to find the requested Boost libraries.
Boost version: 1.59.0
Boost include path: C:/lib/boost_1_59_0
Could not find the following Boost libraries:
    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.

我尝试了很多东西(这是我第一次在这里问一个问题,在询问之前我真的经常搜索),例如" add_definitions(-DBOOST_ALL_NO_LIB)"或将路径更改为" C:\ lib \ boost_1_59_0"但我找不到任何解决方法。

如果有人有想法,我会非常感谢他!

1 个答案:

答案 0 :(得分:0)

CMake配置 - Boost- Visual Studio - C ++

步骤1:下载CMake安装文件,安装并保存在本地磁盘

步骤2:在本地磁盘中创建2个文件夹a)原始文件b)解决方案文件

步骤3:原始文件文件夹 - 创建一个Main.cpp文件并粘贴原始c ++代码并保存。现在在同一文件夹中创建一个名为CMakeLists的txt文件,并将以下代码粘贴到其中并保存。

cmake_minimum_required(VERSION 3.7)
project (cmboosttest)
#find_package(Boost REQUIRED)
#include_directories(${Boost_INCLUDE_DIR})
add_executable(boosttest ${PROJECT_SOURCE_DIR}/Main.cpp)

步骤4:打开CMake选择浏览源中的Raw File文件夹和浏览构建中的Solution File Folder。

步骤5:单击“配置”。成功后,单击“生成”。

步骤6:打开Solution File文件夹时,您可以看到构建的解决方案文件。单击它,您的程序将在Visual Studio中打开。现在,在VS中构建你的程序。

希望这有帮助!