2017-04-18 62 views
0

我想使提升库与CMake一起工作,但我得到了一些奇怪的错误消息。 我使用Stephan T. Lavavej的mingw版本,它带有boost库。mingw提升库不工作

我的CMake的文件如下所示:

cmake_minimum_required(VERSION 3.6) 
project(untitled) 

set(Boost_INCLUDE_DIR C:/MinGW/include) 
set(Boost_LIBRARY_DIR C:/MinGW/lib) 
find_package(Boost COMPONENTS system filesystem REQUIRED) 
include_directories(${Boost_INCLUDE_DIR}) 



set(CMAKE_CXX_FLAGS "-Ofast -msse -msse2 -msse3 -march=znver1 -fno-use-linker-plugin -flto") 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -static-libstdc++ ") 

set(SOURCE_FILES main.cpp HexBoard.cpp HexBoard.h TreeNode.cpp TreeNode.h) 
add_executable(untitled ${SOURCE_FILES}) 

,我得到了以下错误消息:

> CMake Warning at C:/Program Files (x86)/JetBrains/CLion 
> 2016.3.5/bin/cmake/share/cmake-3.6/Modules/FindBoost.cmake:743 (message): Imported targets not available for Boost version 106300 
> Call Stack (most recent call first): C:/Program Files 
> (x86)/JetBrains/CLion 
> 2016.3.5/bin/cmake/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES) C:/Program Files 
> (x86)/JetBrains/CLion 
> 2016.3.5/bin/cmake/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:6 (find_package) 
> 
> 
> CMake Warning at C:/Program Files (x86)/JetBrains/CLion 
> 2016.3.5/bin/cmake/share/cmake-3.6/Modules/FindBoost.cmake:743 (message): Imported targets not available for Boost version 106300 
> Call Stack (most recent call first): C:/Program Files 
> (x86)/JetBrains/CLion 
> 2016.3.5/bin/cmake/share/cmake-3.6/Modules/FindBoost.cmake:842 (_Boost_COMPONENT_DEPENDENCIES) C:/Program Files 
> (x86)/JetBrains/CLion 
> 2016.3.5/bin/cmake/share/cmake-3.6/Modules/FindBoost.cmake:1395 (_Boost_MISSING_DEPENDENCIES) CMakeLists.txt:6 (find_package) 

我怎样才能让下mingw64 Boost库的工作?

希望得到任何帮助

+0

在您显示的日志中有**没有错误**,只有*警告*。警告不会阻止事情发挥作用。如果您很好奇这些警告的含义以及如何消除这些警告,那么谷歌的“导入目标不适用于Boost版本”。 – Tsyvarev

+0

顺便说一下,如果*格式化为代码*,日志就会变得可读。 *引文*格式在这里不好。 – Tsyvarev

回答

1

我使用的是相同的设置,我的使文件看起来像你的。

set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++14") 

set(Boost_INCLUDE_DIR c:/mingw/include/) 
set(Boost_LIBRARY_DIR c:/mingw/lib/) 
find_package(Boost COMPONENTS system filesystem REQUIRED) 
include_directories(${Boost_INCLUDE_DIR}) 

我也加入了MinGW的路径,以我的系统环境用户变量。 enter image description here