我尝试在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"但我找不到任何解决方法。
如果有人有想法,我会非常感谢他!
答案 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中构建你的程序。
希望这有帮助!