library cache bin处理

本文介绍如何使用Oracle SQL查询来诊断系统中Library Cache锁的问题。通过具体SQL语句展示如何查找占用Library Cache Pin的会话,解释不同锁模式间的关系,并提供查询特定会话最近运行SQL语句Hash值的方法。

1.若目前系统中有很多library cache bin, 查看哪些session正在占用

--持有library cache pin的session

select w.sid, kglpnmod "LockMode", kglpnreq "ReqMode", spid "OSProcess"
  from v$session_wait w, x$kglpn p, v$session s, v$process o
  where p.kglpnuse = s.saddr
   and kglpnhdl = w.p1raw
   and w.event like '%library cache pin%'
   and s.paddr = o.addr;


2. 解释

    1. mode 2的跟mode 2的共享

    2. mode 2, 然后mode 3 ,然后 后续的mode2+mode3都会被堵塞

 

3. 查一个session目前或上一次运行的hash

     select decode(sql_hash_value , 0 , pre_hash_value, sql_hash_value) from v$session where sid =&sid;

### ---[ PCL global CMake cmake_minimum_required(VERSION 2.8 FATAL_ERROR) set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE STRING "possible configurations" FORCE) if("${CMAKE_BUILD_TYPE}" STREQUAL "") set(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING "build type default to RelWithDebInfo, set to Release to improve performance" FORCE) endif("${CMAKE_BUILD_TYPE}" STREQUAL "") project(PCL) string(TOLOWER ${PROJECT_NAME} PROJECT_NAME_LOWER) set(CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules/" ${CMAKE_MODULE_PATH}) if(CMAKE_BUILD_TYPE STREQUAL "Release" OR CMAKE_BUILD_TYPE STREQUAL "RelWithDebInfo") add_definitions("-DBOOST_DISABLE_ASSERTS -DEIGEN_NO_DEBUG") endif() if(WIN32) if(NOT DEFINED CMAKE_DEBUG_POSTFIX) set(CMAKE_DEBUG_POSTFIX "_debug") endif() if(NOT DEFINED CMAKE_RELEASE_POSTFIX) set(CMAKE_RELEASE_POSTFIX "_release") endif() endif() SET(CMAKE_CXX_FLAGS_MAINTAINER "-pedantic -Wno-variadic-macros -Wabi -Wextra -Weffc++" CACHE STRING "" FORCE) SET(CMAKE_C_FLAGS_MAINTAINER "-pedantic -Wno-variadic-macros -Wabi -Wextra -Weffc++" CACHE STRING "" FORCE) SET(CMAKE_EXE_LINKER_FLAGS_MAINTAINER "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING "" FORCE) SET(CMAKE_SHARED_LINKER_FLAGS_MAINTAINER "-Wl,--warn-unresolved-symbols,--warn-once" CACHE STRING "" FORCE) MARK_AS_ADVANCED( CMAKE_CXX_FLAGS_MAINTAINER CMAKE_C_FLAGS_MAINTAINER CMAKE_EXE_LINKER_FLAGS_MAINTAINER CMAKE_SHARED_LINKER_FLAGS_MAINTAINER ) SET(CMAKE_BUILD_TYPE "${CMAKE_BUILD_TYPE}" CACHE STRING "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel Maintainer." FORCE) option(PCL_SHARED_LIBS ON) if (ANDROID_NDK) set (PCL_SHARED_LIBS OFF) message ("PCL shared libs on Android must be: ${PCL_SHARED_LIBS}") endif() include(${PCL_SOURCE_DIR}/cmake/pcl_targets.cmake) include(${PCL_SOURCE_DIR}/cmake/pcl_options.cmake) if(CMAKE_COMPILER_IS_GNUCXX) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -fno-strict-aliasing -pthread") if(WIN32) if(PCL_SHARED_LIBS) SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--export-all-symbols -Wl,--enable-auto-import") else(PCL_SHARED_LIBS) add_definitions("-DBOOST_LIB_DIAGNOSTIC -DBOOST_THREAD_USE_LIB") endif(PCL_SHARED_LIBS) endif() endif() if(MSVC) add_definitions ("-DBOOST_ALL_NO_LIB -D_SCL_SECURE_NO_WARNINGS -D_CRT_SECURE_NO_WARNINGS -DNOMINMAX") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /bigobj /EHsc /fp:fast") if(MSVC90 OR MSVC10) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /MP") endif() endif() include(${PCL_SOURCE_DIR}/cmake/pcl_find_sse.cmake) PCL_CHECK_FOR_SSE() if (__COMPILER_PATHSCALE) SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-uninitialized -zerouv -pthread -mp") endif() if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}") endif() option(USE_PROJECT_FOLDERS "Use folders to organize PCL projects in an IDE." OFF) mark_as_advanced(USE_PROJECT_FOLDERS) if(USE_PROJECT_FOLDERS) set_property(GLOBAL PROPERTY USE_FOLDERS ON) endif(USE_PROJECT_FOLDERS) include(${PCL_SOURCE_DIR}/cmake/pcl_utils.cmake) set(PCL_VERSION 1.5.1 CACHE STRING "PCL version") DISSECT_VERSION() GET_OS_INFO() SET_INSTALL_DIRS() if(WIN32) set(PCL_RESOURCES_DIR ${PCL_SOURCE_DIR}/resources) set(PCL_POINTCLOUDS_DIR ${PCL_RESOURCES_DIR}/pointclouds) endif(WIN32) set(PCL_OUTPUT_LIB_DIR ${PCL_BINARY_DIR}/${LIB_INSTALL_DIR}) set(PCL_OUTPUT_BIN_DIR ${PCL_BINARY_DIR}/${BIN_INSTALL_DIR}) make_directory(${PCL_OUTPUT_LIB_DIR}) make_directory(${PCL_OUTPUT_BIN_DIR}) if(WIN32) foreach(config ${CMAKE_CONFIGURATION_TYPES}) string(TOUPPER ${config} CONFIG) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CONFIG} "${PCL_OUTPUT_LIB_DIR}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CONFIG} "${PCL_OUTPUT_BIN_DIR}") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CONFIG} "${PCL_OUTPUT_BIN_DIR}") endforeach(config) else(WIN32) set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PCL_OUTPUT_LIB_DIR}") set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PCL_OUTPUT_BIN_DIR}") set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PCL_OUTPUT_LIB_DIR}") endif(WIN32) configure_file("${PCL_SOURCE_DIR}/cmake/uninstall_target.cmake.in" "${PCL_BINARY_DIR}/uninstall_target.cmake" IMMEDIATE @ONLY) add_custom_target(uninstall "${CMAKE_COMMAND}" -P "${PCL_BINARY_DIR}/uninstall_target.cmake") SET(CMAKE_SKIP_BUILD_RPATH FALSE) SET(CMAKE_BUILD_WITH_INSTALL_RPATH FALSE) SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}") SET(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) LIST(FIND CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}" is_system_dir) IF("${is_system_dir}" STREQUAL "-1") SET(CMAKE_INSTALL_RPATH "${CMAKE_INSTALL_PREFIX}/${LIB_INSTALL_DIR}") ENDIF("${is_system_dir}" STREQUAL "-1") option(BUILD_OPENNI ON) option(BUILD_TESTS OFF) option(BUILD_all_in_one_installer OFF) option(BUILD_apps ON) option(BUILD_common ON) option(BUILD_examples ON) option(BUILD_features ON) option(BUILD_filters ON) option(BUILD_global_tests OFF) option(BUILD_io ON) option(BUILD_kdtree ON) option(BUILD_keypoints ON) option(BUILD_octree ON) option(BUILD_registration ON) option(BUILD_sample_consensus ON) option(BUILD_search ON) option(BUILD_segmentation ON) option(BUILD_surface ON) option(BUILD_tools ON) option(BUILD_tracking ON) option(BUILD_visualization ON) if(WIN32) if(NOT DEFINED BOOST_ROOT AND DEFINED ENV{BOOST_ROOT}) set(BOOST_ROOT $ENV{BOOST_ROOT} CACHE PATH "BOOST_ROOT") endif() if(NOT DEFINED Boost_INCLUDE_DIR) if(DEFINED BOOST_ROOT AND EXISTS "${BOOST_ROOT}/include") set(Boost_INCLUDE_DIR "${BOOST_ROOT}/include") elseif(DEFINED ENV{BOOST_ROOT} AND EXISTS "$ENV{BOOST_ROOT}/include") set(Boost_INCLUDE_DIR "$ENV{BOOST_ROOT}/include") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/include") set(Boost_INCLUDE_DIR "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/include") else() set(Boost_INCLUDE_DIR "") endif() endif() set(Boost_INCLUDE_DIR "${Boost_INCLUDE_DIR}" CACHE PATH "Boost_INCLUDE_DIR" FORCE) mark_as_advanced(CLEAR Boost_INCLUDE_DIR) if(Boost_INCLUDE_DIR AND EXISTS "${Boost_INCLUDE_DIR}") include_directories("${Boost_INCLUDE_DIR}") endif() if(NOT DEFINED Boost_LIBRARY_DIR_RELEASE) if(EXISTS "${BOOST_ROOT}/lib/Release") set(Boost_LIBRARY_DIR_RELEASE "${BOOST_ROOT}/lib/Release") elseif(EXISTS "${BOOST_ROOT}/stage/lib") set(Boost_LIBRARY_DIR_RELEASE "${BOOST_ROOT}/stage/lib") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib/Release") set(Boost_LIBRARY_DIR_RELEASE "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib/Release") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib") set(Boost_LIBRARY_DIR_RELEASE "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib") else() set(Boost_LIBRARY_DIR_RELEASE "") endif() endif() if(NOT DEFINED Boost_LIBRARY_DIR_DEBUG) if(EXISTS "${BOOST_ROOT}/lib/Debug") set(Boost_LIBRARY_DIR_DEBUG "${BOOST_ROOT}/lib/Debug") elseif(EXISTS "${BOOST_ROOT}/stage/lib") set(Boost_LIBRARY_DIR_DEBUG "${BOOST_ROOT}/stage/lib") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib/Debug") set(Boost_LIBRARY_DIR_DEBUG "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib/Debug") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib") set(Boost_LIBRARY_DIR_DEBUG "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Boost1.69/lib") else() set(Boost_LIBRARY_DIR_DEBUG "") endif() endif() set(Boost_LIBRARY_DIR_RELEASE "${Boost_LIBRARY_DIR_RELEASE}" CACHE PATH "Boost_LIBRARY_DIR_RELEASE" FORCE) set(Boost_LIBRARY_DIR_DEBUG "${Boost_LIBRARY_DIR_DEBUG}" CACHE PATH "Boost_LIBRARY_DIR_DEBUG" FORCE) mark_as_advanced(CLEAR Boost_LIBRARY_DIR_RELEASE Boost_LIBRARY_DIR_DEBUG) if(Boost_LIBRARY_DIR_RELEASE AND EXISTS "${Boost_LIBRARY_DIR_RELEASE}") link_directories("${Boost_LIBRARY_DIR_RELEASE}") endif() if(Boost_LIBRARY_DIR_DEBUG AND EXISTS "${Boost_LIBRARY_DIR_DEBUG}") link_directories("${Boost_LIBRARY_DIR_DEBUG}") endif() find_library(Boost_SYSTEM_LIBRARY_RELEASE NAMES boost_system boost_system-mt boost_system-vc90-mt boost_system-vc90-mt-1_69 libboost_system-vc90-mt-1_69 HINTS "${Boost_LIBRARY_DIR_RELEASE}" "${Boost_LIBRARY_DIR_DEBUG}") find_library(Boost_SYSTEM_LIBRARY_DEBUG NAMES boost_system-gd boost_system-mt-gd boost_system-vc90-mt-gd boost_system-vc90-mt-gd-1_69 libboost_system-vc90-mt-gd-1_69 HINTS "${Boost_LIBRARY_DIR_DEBUG}" "${Boost_LIBRARY_DIR_RELEASE}") find_library(Boost_FILESYSTEM_LIBRARY_RELEASE NAMES boost_filesystem boost_filesystem-mt boost_filesystem-vc90-mt boost_filesystem-vc90-mt-1_69 libboost_filesystem-vc90-mt-1_69 HINTS "${Boost_LIBRARY_DIR_RELEASE}" "${Boost_LIBRARY_DIR_DEBUG}") find_library(Boost_FILESYSTEM_LIBRARY_DEBUG NAMES boost_filesystem-gd boost_filesystem-mt-gd boost_filesystem-vc90-mt-gd boost_filesystem-vc90-mt-gd-1_69 libboost_filesystem-vc90-mt-gd-1_69 HINTS "${Boost_LIBRARY_DIR_DEBUG}" "${Boost_LIBRARY_DIR_RELEASE}") find_library(Boost_THREAD_LIBRARY_RELEASE NAMES boost_thread boost_thread-mt boost_thread-vc90-mt boost_thread-vc90-mt-1_69 libboost_thread-vc90-mt-1_69 HINTS "${Boost_LIBRARY_DIR_RELEASE}" "${Boost_LIBRARY_DIR_DEBUG}") find_library(Boost_THREAD_LIBRARY_DEBUG NAMES boost_thread-gd boost_thread-mt-gd boost_thread-vc90-mt-gd boost_thread-vc90-mt-gd-1_69 libboost_thread-vc90-mt-gd-1_69 HINTS "${Boost_LIBRARY_DIR_DEBUG}" "${Boost_LIBRARY_DIR_RELEASE}") find_library(Boost_DATE_TIME_LIBRARY_RELEASE NAMES boost_date_time boost_date_time-mt boost_date_time-vc90-mt boost_date_time-vc90-mt-1_69 libboost_date_time-vc90-mt-1_69 HINTS "${Boost_LIBRARY_DIR_RELEASE}" "${Boost_LIBRARY_DIR_DEBUG}") find_library(Boost_DATE_TIME_LIBRARY_DEBUG NAMES boost_date_time-gd boost_date_time-mt-gd boost_date_time-vc90-mt-gd boost_date_time-vc90-mt-gd-1_69 libboost_date_time-vc90-mt-gd-1_69 HINTS "${Boost_LIBRARY_DIR_DEBUG}" "${Boost_LIBRARY_DIR_RELEASE}") find_library(Boost_IOSTREAMS_LIBRARY_RELEASE NAMES boost_iostreams boost_iostreams-mt boost_iostreams-vc90-mt boost_iostreams-vc90-mt-1_69 libboost_iostreams-vc90-mt-1_69 HINTS "${Boost_LIBRARY_DIR_RELEASE}" "${Boost_LIBRARY_DIR_DEBUG}") find_library(Boost_IOSTREAMS_LIBRARY_DEBUG NAMES boost_iostreams-gd boost_iostreams-mt-gd boost_iostreams-vc90-mt-gd boost_iostreams-vc90-mt-gd-1_69 libboost_iostreams-vc90-mt-gd-1_69 HINTS "${Boost_LIBRARY_DIR_DEBUG}" "${Boost_LIBRARY_DIR_RELEASE}") find_library(Boost_SERIALIZATION_LIBRARY_RELEASE NAMES boost_serialization boost_serialization-mt boost_serialization-vc90-mt boost_serialization-vc90-mt-1_69 libboost_serialization-vc90-mt-1_69 HINTS "${Boost_LIBRARY_DIR_RELEASE}" "${Boost_LIBRARY_DIR_DEBUG}") find_library(Boost_SERIALIZATION_LIBRARY_DEBUG NAMES boost_serialization-gd boost_serialization-mt-gd boost_serialization-vc90-mt-gd boost_serialization-vc90-mt-gd-1_69 libboost_serialization-vc90-mt-gd-1_69 HINTS "${Boost_LIBRARY_DIR_DEBUG}" "${Boost_LIBRARY_DIR_RELEASE}") find_library(Boost_MPl_LIBRARY_RELEASE NAMES boost_mpi boost_mpi-mt boost_mpi-vc90-mt HINTS "${Boost_LIBRARY_DIR_RELEASE}" "${Boost_LIBRARY_DIR_DEBUG}") find_library(Boost_MPl_LIBRARY_DEBUG NAMES boost_mpi-gd boost_mpi-mt-gd boost_mpi-vc90-mt-gd HINTS "${Boost_LIBRARY_DIR_DEBUG}" "${Boost_LIBRARY_DIR_RELEASE}") set(Boost_SYSTEM_LIBRARY_RELEASE "${Boost_SYSTEM_LIBRARY_RELEASE}" CACHE FILEPATH "Boost_SYSTEM_LIBRARY_RELEASE") set(Boost_SYSTEM_LIBRARY_DEBUG "${Boost_SYSTEM_LIBRARY_DEBUG}" CACHE FILEPATH "Boost_SYSTEM_LIBRARY_DEBUG") set(Boost_FILESYSTEM_LIBRARY_RELEASE "${Boost_FILESYSTEM_LIBRARY_RELEASE}" CACHE FILEPATH "Boost_FILESYSTEM_LIBRARY_RELEASE") set(Boost_FILESYSTEM_LIBRARY_DEBUG "${Boost_FILESYSTEM_LIBRARY_DEBUG}" CACHE FILEPATH "Boost_FILESYSTEM_LIBRARY_DEBUG") set(Boost_THREAD_LIBRARY_RELEASE "${Boost_THREAD_LIBRARY_RELEASE}" CACHE FILEPATH "Boost_THREAD_LIBRARY_RELEASE") set(Boost_THREAD_LIBRARY_DEBUG "${Boost_THREAD_LIBRARY_DEBUG}" CACHE FILEPATH "Boost_THREAD_LIBRARY_DEBUG") set(Boost_DATE_TIME_LIBRARY_RELEASE "${Boost_DATE_TIME_LIBRARY_RELEASE}" CACHE FILEPATH "Boost_DATE_TIME_LIBRARY_RELEASE") set(Boost_DATE_TIME_LIBRARY_DEBUG "${Boost_DATE_TIME_LIBRARY_DEBUG}" CACHE FILEPATH "Boost_DATE_TIME_LIBRARY_DEBUG") set(Boost_IOSTREAMS_LIBRARY_RELEASE "${Boost_IOSTREAMS_LIBRARY_RELEASE}" CACHE FILEPATH "Boost_IOSTREAMS_LIBRARY_RELEASE") set(Boost_IOSTREAMS_LIBRARY_DEBUG "${Boost_IOSTREAMS_LIBRARY_DEBUG}" CACHE FILEPATH "Boost_IOSTREAMS_LIBRARY_DEBUG") set(Boost_SERIALIZATION_LIBRARY_RELEASE "${Boost_SERIALIZATION_LIBRARY_RELEASE}" CACHE FILEPATH "Boost_SERIALIZATION_LIBRARY_RELEASE") set(Boost_SERIALIZATION_LIBRARY_DEBUG "${Boost_SERIALIZATION_LIBRARY_DEBUG}" CACHE FILEPATH "Boost_SERIALIZATION_LIBRARY_DEBUG") mark_as_advanced(CLEAR PCL_SHARED_LIBS Boost_INCLUDE_DIR Boost_LIBRARY_DIR_RELEASE Boost_LIBRARY_DIR_DEBUG Boost_SYSTEM_LIBRARY_RELEASE Boost_SYSTEM_LIBRARY_DEBUG Boost_FILESYSTEM_LIBRARY_RELEASE Boost_FILESYSTEM_LIBRARY_DEBUG Boost_THREAD_LIBRARY_RELEASE Boost_THREAD_LIBRARY_DEBUG Boost_DATE_TIME_LIBRARY_RELEASE Boost_DATE_TIME_LIBRARY_DEBUG Boost_IOSTREAMS_LIBRARY_RELEASE Boost_IOSTREAMS_LIBRARY_DEBUG Boost_SERIALIZATION_LIBRARY_RELEASE Boost_SERIALIZATION_LIBRARY_DEBUG ) endif() if(WIN32) if(NOT DEFINED EIGEN3_ROOT AND DEFINED ENV{EIGEN3_ROOT}) set(EIGEN3_ROOT $ENV{EIGEN3_ROOT} CACHE PATH "EIGEN3_ROOT") endif() if(NOT DEFINED EIGEN_INCLUDE_DIRS) if(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Eigen3/Release/include/Eigen/Core") set(EIGEN_INCLUDE_DIRS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Eigen3/Release/include" CACHE PATH "EIGEN_INCLUDE_DIRS") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Eigen3/include/Eigen/Core") set(EIGEN_INCLUDE_DIRS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/Eigen3/include" CACHE PATH "EIGEN_INCLUDE_DIRS") endif() endif() if(EIGEN_INCLUDE_DIRS) include_directories(${EIGEN_INCLUDE_DIRS}) endif() endif() if(WIN32) if(NOT DEFINED FLANN_ROOT AND DEFINED ENV{FLANN_ROOT}) set(FLANN_ROOT $ENV{FLANN_ROOT} CACHE PATH "FLANN_ROOT") endif() if(NOT DEFINED FLANN_INCLUDE_DIR) if(DEFINED FLANN_ROOT AND EXISTS "${FLANN_ROOT}/Release/include") set(FLANN_INCLUDE_DIR "${FLANN_ROOT}/Release/include") elseif(DEFINED FLANN_ROOT AND EXISTS "${FLANN_ROOT}/include") set(FLANN_INCLUDE_DIR "${FLANN_ROOT}/include") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/FLANN/Release/include") set(FLANN_INCLUDE_DIR "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/FLANN/Release/include") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/FLANN/include") set(FLANN_INCLUDE_DIR "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/FLANN/include") else() set(FLANN_INCLUDE_DIR "") endif() endif() set(FLANN_INCLUDE_DIR "${FLANN_INCLUDE_DIR}" CACHE PATH "FLANN_INCLUDE_DIR" FORCE) mark_as_advanced(CLEAR FLANN_INCLUDE_DIR) if(FLANN_INCLUDE_DIR AND EXISTS "${FLANN_INCLUDE_DIR}") include_directories("${FLANN_INCLUDE_DIR}") endif() find_library(FLANN_LIBRARY_RELEASE NAMES flann_cpp_s flann_cpp flann HINTS "${FLANN_ROOT}/Release/lib" "${FLANN_ROOT}/lib") find_library(FLANN_LIBRARY_DEBUG NAMES flann_cpp_s-gd flann_cpp-gd flann-gd HINTS "${FLANN_ROOT}/Debug/lib" "${FLANN_ROOT}/lib") if(FLANN_LIBRARY_RELEASE) set(FLANN_LIBRARY "${FLANN_LIBRARY_RELEASE}" CACHE FILEPATH "FLANN_LIBRARY") endif() if(FLANN_LIBRARY_DEBUG) set(FLANN_LIBRARY_DEBUG "${FLANN_LIBRARY_DEBUG}" CACHE FILEPATH "FLANN_LIBRARY_DEBUG") endif() endif() if(WIN32) if(NOT DEFINED QHULL_ROOT AND DEFINED ENV{QHULL_ROOT}) set(QHULL_ROOT $ENV{QHULL_ROOT} CACHE PATH "QHULL_ROOT") endif() if(NOT DEFINED QHULL_INCLUDE_DIR) if(DEFINED QHULL_ROOT AND EXISTS "${QHULL_ROOT}/Release/include/qhull/qhull.h") set(QHULL_INCLUDE_DIR "${QHULL_ROOT}/Release/include") elseif(DEFINED QHULL_ROOT AND EXISTS "${QHULL_ROOT}/Release/include/libqhull/qhull.h") set(QHULL_INCLUDE_DIR "${QHULL_ROOT}/Release/include") elseif(DEFINED QHULL_ROOT AND EXISTS "${QHULL_ROOT}/include/qhull/qhull.h") set(QHULL_INCLUDE_DIR "${QHULL_ROOT}/include") elseif(DEFINED QHULL_ROOT AND EXISTS "${QHULL_ROOT}/include/libqhull/qhull.h") set(QHULL_INCLUDE_DIR "${QHULL_ROOT}/include") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/qhull-v7.2.0/Release/include/qhull/qhull.h" OR EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/qhull-v7.2.0/Release/include/libqhull/qhull.h") set(QHULL_INCLUDE_DIR "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/qhull-v7.2.0/Release/include") elseif(EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/qhull-v7.2.0/include/qhull/qhull.h" OR EXISTS "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/qhull-v7.2.0/include/libqhull/qhull.h") set(QHULL_INCLUDE_DIR "E:/PointCloudLibrary/VS2008_V90_X64/3rdparty/qhull-v7.2.0/include") else() set(QHULL_INCLUDE_DIR "") endif() endif() set(QHULL_INCLUDE_DIR "${QHULL_INCLUDE_DIR}" CACHE PATH "QHULL_INCLUDE_DIR" FORCE) mark_as_advanced(CLEAR QHULL_INCLUDE_DIR) if(QHULL_INCLUDE_DIR AND EXISTS "${QHULL_INCLUDE_DIR}") include_directories("${QHULL_INCLUDE_DIR}") endif() find_library(QHULL_LIBRARY_RELEASE NAMES qhullstatic qhull HINTS "${QHULL_ROOT}/Release/lib" "${QHULL_ROOT}/lib") find_library(QHULL_LIBRARY_DEBUG NAMES qhullstatic_d qhull_d HINTS "${QHULL_ROOT}/Debug/lib" "${QHULL_ROOT}/lib") if(QHULL_LIBRARY_RELEASE) set(QHULL_LIBRARY "${QHULL_LIBRARY_RELEASE}" CACHE FILEPATH "QHULL_LIBRARY") endif() if(QHULL_LIBRARY_DEBUG) set(QHULL_LIBRARY_DEBUG "${QHULL_LIBRARY_DEBUG}" CACHE FILEPATH "QHULL_LIBRARY_DEBUG") endif() endif() if(WIN32) if(NOT DEFINED VTK_DIR AND DEFINED ENV{VTK_DIR}) set(VTK_DIR $ENV{VTK_DIR} CACHE PATH "VTK_DIR") endif() if(NOT DEFINED VTK_DIR AND DEFINED ENV{VTK_BASE_DIR}) if(EXISTS "$ENV{VTK_BASE_DIR}/Release/lib/vtk-5.8") set(VTK_DIR "$ENV{VTK_BASE_DIR}/Release/lib/vtk-5.8" CACHE PATH "VTK_DIR") elseif(EXISTS "$ENV{VTK_BASE_DIR}/Debug/lib/vtk-5.8") set(VTK_DIR "$ENV{VTK_BASE_DIR}/Debug/lib/vtk-5.8" CACHE PATH "VTK_DIR") endif() endif() if(DEFINED ENV{QTDIR}) set(CMAKE_PREFIX_PATH "$ENV{QTDIR}" "$ENV{QTDIR}/lib/cmake" ${CMAKE_PREFIX_PATH}) set(QT_PLUGINS_DIR "$ENV{QTDIR}/plugins" CACHE PATH "QT_PLUGINS_DIR") set(QT_DOC_DIR "$ENV{QTDIR}/doc" CACHE PATH "QT_DOC_DIR") set(QT_IMPORTS_DIR "$ENV{QTDIR}/imports" CACHE PATH "QT_IMPORTS_DIR") set(QT_MKSPECS_DIR "$ENV{QTDIR}/mkspecs" CACHE PATH "QT_MKSPECS_DIR") find_program(QT_MOC_EXECUTABLE NAMES moc PATHS "$ENV{QTDIR}/bin") find_program(QT_LRELEASE_EXECUTABLE NAMES lrelease PATHS "$ENV{QTDIR}/bin") find_program(QT_LUPDATE_EXECUTABLE NAMES lupdate PATHS "$ENV{QTDIR}/bin") find_program(QT_DESIGNER_EXECUTABLE NAMES designer PATHS "$ENV{QTDIR}/bin") find_program(QT_DBUSXML2CPP_EXECUTABLE NAMES qdbusxml2cpp PATHS "$ENV{QTDIR}/bin") find_program(QT_DBUSCPP2XML_EXECUTABLE NAMES qdbuscpp2xml PATHS "$ENV{QTDIR}/bin") find_library(QT_QAXCONTAINER_LIBRARY_RELEASE NAMES QAxContainer PATHS "$ENV{QTDIR}/lib") find_library(QT_QAXCONTAINER_LIBRARY_DEBUG NAMES QAxContainerd PATHS "$ENV{QTDIR}/lib") if(QT_QAXCONTAINER_LIBRARY_RELEASE) set(QT_QAxCONTAINER_LIBRARY "${QT_QAXCONTAINER_LIBRARY_RELEASE}" CACHE FILEPATH "QT_QAxCONTAINER_LIBRARY") endif() if(QT_QAXCONTAINER_LIBRARY_DEBUG) set(QT_QAXCONTAINER_LIBRARY_DEBUG "${QT_QAXCONTAINER_LIBRARY_DEBUG}" CACHE FILEPATH "QT_QAxCONTAINER_LIBRARY_DEBUG") endif() find_library(QT_PHONON_LIBRARY_RELEASE NAMES phonon phonon4 PATHS "$ENV{QTDIR}/lib") find_library(QT_PHONON_LIBRARY_DEBUG NAMES phonond phonon4d PATHS "$ENV{QTDIR}/lib") if(QT_PHONON_LIBRARY_RELEASE) set(QT_PHONON_LIBRARY "${QT_PHONON_LIBRARY_RELEASE}" CACHE FILEPATH "QT_PHONON_LIBRARY") endif() if(QT_PHONON_LIBRARY_DEBUG) set(QT_PHONON_LIBRARY_DEBUG "${QT_PHONON_LIBRARY_DEBUG}" CACHE FILEPATH "QT_PHONON_LIBRARY_DEBUG") endif() find_library(QT_PHONONWIDGETS_LIBRARY_RELEASE NAMES phononwidgets PATHS "$ENV{QTDIR}/lib") find_library(QT_PHONONWIDGETS_LIBRARY_DEBUG NAMES phononwidgetsd PATHS "$ENV{QTDIR}/lib") if(QT_PHONONWIDGETS_LIBRARY_RELEASE) set(QT_PHONONwWIDGETS_LIBRARY "${QT_PHONONWIDGETS_LIBRARY_RELEASE}" CACHE FILEPATH "QT_PHONONwWIDGETS_LIBRARY") set(QT_PHONONWIDGETS_LIBRARY_RELEASE "${QT_PHONONWIDGETS_LIBRARY_RELEASE}" CACHE FILEPATH "QT_PHONONWIDGETS_LIBRARY_RELEASE") endif() if(QT_PHONONWIDGETS_LIBRARY_DEBUG) set(QT_PHONONWIDGETS_LIBRARY_DEBUG "${QT_PHONONWIDGETS_LIBRARY_DEBUG}" CACHE FILEPATH "QT_PHONONWIDGETS_LIBRARY_DEBUG") endif() set(QT_PHONON_INCLUDE_DIR "$ENV{QTDIR}/include/phonon" CACHE PATH "QT_PHONON_INCLUDE_DIR") endif() endif() FIND_PACKAGE(OpenMP) if(OPENMP_FOUND) SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}") SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}") endif() include(${PCL_SOURCE_DIR}/cmake/pcl_find_boost.cmake) find_package(Eigen REQUIRED) include_directories(SYSTEM ${EIGEN_INCLUDE_DIRS}) add_definitions(-DEIGEN_USE_NEW_STDVECTOR -DEIGEN_YES_I_KNOW_SPARSE_MODULE_IS_NOT_STABLE_YET) find_package(Flann REQUIRED) include_directories(SYSTEM ${FLANN_INCLUDE_DIRS}) find_package(OpenNI) find_package(Qhull) include(${PCL_SOURCE_DIR}/cmake/pcl_find_ros.cmake) find_package(Qt4) if (QT4_FOUND) include(${QT_USE_FILE}) endif (QT4_FOUND) find_package(VTK) if(VTK_FOUND) set(VTK_FOUND TRUE) find_package (QVTK) message(STATUS "VTK found (include: ${VTK_INCLUDE_DIRS}, lib: ${VTK_LIBRARY_DIRS})") link_directories(${VTK_LIBRARY_DIRS}) set(HAVE_VTK ON) endif(VTK_FOUND) find_package(MPI) if(MPI_CXX_FOUND) include_directories(SYSTEM ${MPI_INCLUDE_PATH}) endif(MPI_CXX_FOUND) find_package(Doxygen) if(DOXYGEN_FOUND) find_package(HTMLHelp) endif(DOXYGEN_FOUND) set(pcl_config_h_in "${CMAKE_CURRENT_SOURCE_DIR}/pcl_config.h.in") set(pcl_config_h "${CMAKE_CURRENT_BINARY_DIR}/include/pcl/pcl_config.h") configure_file(${pcl_config_h_in} ${pcl_config_h}) PCL_ADD_INCLUDES(common "" ${pcl_config_h}) include_directories(${CMAKE_CURRENT_BINARY_DIR}/include) include(${PCL_SOURCE_DIR}/cmake/pcl_tests.cmake) include(${PCL_SOURCE_DIR}/cmake/pcl_targets.cmake) collect_subproject_directory_names(${PCL_SOURCE_DIR} "CMakeLists.txt" PCL_MODULES_NAMES PCL_MODULES_DIRS doc) set(PCL_MODULES_NAMES_UNSORTED ${PCL_MODULES_NAMES}) topological_sort(PCL_MODULES_NAMES PCL_ _DEPENDS) message ("Unsorted modules: ${PCL_MODULES_NAMES_UNSORTED}") message ("Modules: ${PCL_MODULES_NAMES}") sort_relative(PCL_MODULES_NAMES_UNSORTED PCL_MODULES_NAMES PCL_MODULES_DIRS) foreach(subdir ${PCL_MODULES_DIRS}) add_subdirectory(${PCL_SOURCE_DIR}/${subdir}) endforeach(subdir) add_subdirectory(doc) include(${PCL_SOURCE_DIR}/cmake/pcl_pclconfig.cmake) include(${PCL_SOURCE_DIR}/cmake/pcl_all_in_one_installer.cmake) include(${PCL_SOURCE_DIR}/cmake/pcl_cpack.cmake) if(CPACK_GENERATOR) message(STATUS "Found CPack generators: ${CPACK_GENERATOR}") PCL_MAKE_CPACK_INPUT() set(CPACK_PROJECT_CONFIG_FILE "${PCL_CPACK_CFG_FILE}") include(CPack) endif(CPACK_GENERATOR) include(${PCL_SOURCE_DIR}/cmake/dep_graph.cmake) MAKE_DEP_GRAPH() PCL_WRITE_STATUS_REPORT() PCL_RESET_MAPS() 现在 Boost_LIBRARY_DIR_DEBUG Boost_LIBRARY_DIR_RELEASE这两个没有显示出来能否帮我修改一下是实现Boost_LIBRARY_DIR_DEBUG Boost_LIBRARY_DIR_RELEASE这两个显示出来
最新发布
12-15
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值