找不到Boost构建CGAL的例子

时间:2013-11-12 05:55:55

标签: boost cmake cgal

我正在尝试构建一个CGAL附带的特定示例,但由于某种原因它无法找到BOOST。 我以类似的方式成功编译了CGAL本身。 我跟着this guide on how to build it on windows

我确定正确设置了BOOST_ROOT环境变量。

Edit2 :我使用Core示例的给定脚本重新创建了cmake文件,如下所示。

  

cd temp

     

cgal_create_CMakeLists -s delunay

在cmake UI中,我设置了Boost_DEBUG = ON和Configure。

我得到如下错误(我已经删除了不相关的部分):

cmake-2.8/Modules/FindBoost.cmake:476 ] _boost_TEST_VERSIONS = 1.56.1;/* ... omitted*/
cmake-2.8/Modules/FindBoost.cmake:478 ] Boost_USE_MULTITHREADED = TRUE
cmake-2.8/Modules/FindBoost.cmake:480 ] Boost_USE_STATIC_LIBS = OFF
cmake-2.8/Modules/FindBoost.cmake:482 ] Boost_USE_STATIC_RUNTIME = 
cmake-2.8/Modules/FindBoost.cmake:484 ] Boost_ADDITIONAL_VERSIONS = 1.56.1; /*... omitted*/
cmake-2.8/Modules/FindBoost.cmake:486 ] Boost_NO_SYSTEM_PATHS = 
cmake-2.8/Modules/FindBoost.cmake:538 ] Declared as CMake or Environmental Variables:
cmake-2.8/Modules/FindBoost.cmake:540 ]   BOOST_ROOT = 
cmake-2.8/Modules/FindBoost.cmake:542 ]   BOOST_INCLUDEDIR = 
cmake-2.8/Modules/FindBoost.cmake:544 ]   BOOST_LIBRARYDIR = 
cmake-2.8/Modules/FindBoost.cmake:546 ] _boost_TEST_VERSIONS = 1.56.1;1.56.0; /*... omitted*/
cmake-2.8/Modules/FindBoost.cmake:639 ] location of version.hpp: D:/dev/boost_1_54_0/boost/version.hpp
cmake-2.8/Modules/FindBoost.cmake:663 ] version.hpp reveals boost 1.54.0
cmake-2.8/Modules/FindBoost.cmake:739 ] guessed _boost_COMPILER = -vc110
cmake-2.8/Modules/FindBoost.cmake:749 ] _boost_MULTITHREADED = -mt
cmake-2.8/Modules/FindBoost.cmake:792 ] _boost_RELEASE_ABI_TAG = -
cmake-2.8/Modules/FindBoost.cmake:794 ] _boost_DEBUG_ABI_TAG = -gd
cmake-2.8/Modules/FindBoost.cmake:842 ] _boost_LIBRARY_SEARCH_DIRS = D:/dev/boost_1_54_0/lib32-msvc-11.0;D:/dev/boost_1_54_0/lib;D:/dev/boost_1_54_0/stage/lib;D:/dev/boost_1_54_0/lib;D:/dev/boost_1_54_0/../lib;D:/dev/boost_1_54_0/stage/lib;PATHS;C:/boost/lib;C:/boost;/sw/local/lib
cmake-2.8/Modules/FindBoost.cmake:1017 ] Boost_FOUND = 1
Boost version: 1.54.0
CMake Error: The following variables are used in this project, but they are set to NOTFOUND.
Please set them or make sure they are set and tested correctly in the CMake files:
Boost_INCLUDE_DIR (ADVANCED)
   used as include directory in directory D:/dev/CGAL-4.3/scripts/temp

Configuring incomplete, errors occurred!
See also "D:/dev/CGAL-4.3/scripts/temp/build/CMakeFiles/CMakeOutput.log".

Core生成的cmake文件:

# Created by the script cgal_create_cmake_script_with_options
# This is the CMake script for compiling a set of CGAL applications.

project( delaunay )


cmake_minimum_required(VERSION 2.6.2)
if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" VERSION_GREATER 2.6)
  if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_GREATER 2.8.3)
    cmake_policy(VERSION 2.8.4)
  else()
    cmake_policy(VERSION 2.6)
  endif()
endif()

set( CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS true )

if ( COMMAND cmake_policy )

  cmake_policy( SET CMP0003 NEW )  

endif()

# CGAL and its components
find_package( CGAL QUIET COMPONENTS  )

if ( NOT CGAL_FOUND )

  message(STATUS "This project requires the CGAL library, and will not be compiled.")
  return()  

endif()

# include helper file
include( ${CGAL_USE_FILE} )


# Boost and its components
find_package( Boost REQUIRED )

if ( NOT Boost_FOUND )

  message(STATUS "This project requires the Boost library, and will not be compiled.")

  return()  

endif()

# include for local directory

# include for local package
include_directories( BEFORE ../include )


# Creating entries for target: delaunay
# ############################

add_executable( delaunay  delaunay.cpp )

add_to_cached_list( CGAL_EXECUTABLE_TARGETS delaunay )

# Link the executable to CGAL and third-party libraries
target_link_libraries(delaunay   ${CGAL_LIBRARIES} ${CGAL_3RD_PARTY_LIBRARIES} )

任何人都知道可能出现什么问题?

1 个答案:

答案 0 :(得分:2)

确实CMakeLists.txt没有尝试查找Boost库和标头。这就是Boost_DEBUG变量无效的原因。似乎CGAL库配置不正确。您应该在CGAL库的构建目录中重新运行CMake,并检查是否没有错误。