在 windows 7 上设置带有 boost 的 Clion
Setup Clion with boost on windows 7
我需要一些简单的例子,如何在 windows 7.
下的 Clion IDE 中使用 CMake 包含 boost libraries/headers
C++ 11 需要它。
Boost 库和 headers 安装在自定义目录中。
我已经为编译器安装了 cygwin x64。
一些解决方案:
我刚刚用 cygdrive 格式
包含了 boost headers
include_directories("/cygdrive/e/Libs/BoostLibs/include/boost-1_57")
但仍然不明白 Clion 从哪里获得这些库。
更好的解决方案
需要设置 var BOOST_ROOT
所以我做了(并使用了更多变量):
set(BOOST_ROOT "/cygdrive/e/Libs/BoostLibs/include/boost-1_57")
那么就可以找到并收录了
FIND_PACKAGE(Boost REQUIRED)
IF (Boost_FOUND)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
ADD_DEFINITIONS( "-DHAS_BOOST" )
ENDIF()
据我所知,CLion 没有这些库。 CMake 可以。
无论如何,我可以用这个解决你的问题:
set(Boost_Path "e:/Libs/BoostLibs/include")
set(Boost_INCLUDE_DIR "${Boost_Path}/boost_1_57_0")
find_package(Boost 1.57.0)
尝试一下,看看它是否有效,你可以使用这个:
message("Boost_INCLUDE_DIR: " ${Boost_INCLUDE_DIR })
或
if(Boost_FOUND)
message(STATUS "It works!")
include_directories(${Boost_INCLUDE_DIRS})
endif()
对于第一个,您将知道 Boost_INCLUDE_DIR
是否设置正确,而对于第二个,您将仅在找到 Boost 库时才会看到该消息,并且您将包含该目录。
如果它不能解决您的问题,请告诉我。
我正在使用 Boost 框架 v1.57.0 试用 JetBrains CLion EAP(内部版本 140.1740.3)。我通过将以下行添加到文件 "CMakeLists.txt"(默认情况下带有新的 CLion 项目)来使其工作。
set(BOOST_ROOT "C:\boost_1_57_0")
set(BOOSTROOT "C:\boost_1_57_0")
find_package(Boost 1.57.0)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Could not find boost!")
endif()
尽管我很喜欢 CLion,但我认为最好使用 Visual Studio 2013 Community Edition 在 Windows 上进行开发。设 Windows 为 Windows,Unix 为 Unix。试图打败一个成为另一个会产生比解决更多的问题。
我需要一些简单的例子,如何在 windows 7.
下的 Clion IDE 中使用 CMake 包含 boost libraries/headers
C++ 11 需要它。
Boost 库和 headers 安装在自定义目录中。
我已经为编译器安装了 cygwin x64。
一些解决方案:
我刚刚用 cygdrive 格式
include_directories("/cygdrive/e/Libs/BoostLibs/include/boost-1_57")
但仍然不明白 Clion 从哪里获得这些库。
更好的解决方案
需要设置 var BOOST_ROOT
所以我做了(并使用了更多变量):
set(BOOST_ROOT "/cygdrive/e/Libs/BoostLibs/include/boost-1_57")
那么就可以找到并收录了
FIND_PACKAGE(Boost REQUIRED)
IF (Boost_FOUND)
INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIR})
ADD_DEFINITIONS( "-DHAS_BOOST" )
ENDIF()
据我所知,CLion 没有这些库。 CMake 可以。
无论如何,我可以用这个解决你的问题:
set(Boost_Path "e:/Libs/BoostLibs/include")
set(Boost_INCLUDE_DIR "${Boost_Path}/boost_1_57_0")
find_package(Boost 1.57.0)
尝试一下,看看它是否有效,你可以使用这个:
message("Boost_INCLUDE_DIR: " ${Boost_INCLUDE_DIR })
或
if(Boost_FOUND)
message(STATUS "It works!")
include_directories(${Boost_INCLUDE_DIRS})
endif()
对于第一个,您将知道 Boost_INCLUDE_DIR
是否设置正确,而对于第二个,您将仅在找到 Boost 库时才会看到该消息,并且您将包含该目录。
如果它不能解决您的问题,请告诉我。
我正在使用 Boost 框架 v1.57.0 试用 JetBrains CLion EAP(内部版本 140.1740.3)。我通过将以下行添加到文件 "CMakeLists.txt"(默认情况下带有新的 CLion 项目)来使其工作。
set(BOOST_ROOT "C:\boost_1_57_0")
set(BOOSTROOT "C:\boost_1_57_0")
find_package(Boost 1.57.0)
if(NOT Boost_FOUND)
message(FATAL_ERROR "Could not find boost!")
endif()
尽管我很喜欢 CLion,但我认为最好使用 Visual Studio 2013 Community Edition 在 Windows 上进行开发。设 Windows 为 Windows,Unix 为 Unix。试图打败一个成为另一个会产生比解决更多的问题。