相关疑难解决方法(0)

如何使用CMake强制c ++编译器使用不同安装包的版本之一?

我在我的机器上安装的ROS Fuerte使用opencv 2.2.我想使用刚刚安装的2.4.9版本.它的位置是/home/polar/soft/lib/opencv/opencv-2.4.9/build/lib.

请问用CMake怎么做?从我的搜索,似乎find_library可以解决问题,但无法使其工作.

=====我在我的cpp代码中包含了opencv

  #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/opencv.hpp>
    #include "opencv2/imgproc/imgproc.hpp"
Run Code Online (Sandbox Code Playgroud)

===========这是我的CMAKE

cmake_minimum_required(VERSION 2.8)
include($ENV{ROS_ROOT}/core/rosbuild/rosbuild.cmake)

rosbuild_init()
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/bin)
set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/lib)

rosbuild_genmsg()
rosbuild_gensrv()


# GSL
find_package( PkgConfig REQUIRED)
pkg_check_modules( gsl REQUIRED gsl )

SET(corners_opencv_flag ok)

#*******************************************************************
#*******************************************************************

#******                CORNERS OPENCV

#*******************************************************************
#*******************************************************************
if(corners_opencv_flag)

  #---
  SET(execFiles_corner_opencv
    corner_v1

    )

  #---
  foreach(file_ros ${execFiles_corner_opencv})
    rosbuild_add_executable(${file_ros} computer-vision/corners/${file_ros}.cpp ) 
  endforeach(file_ros)

  #---
endif(corners_opencv_flag)


#-------------------
# STACK 
#--------------------

SET(FILES_TO_RUN
  ${execFiles_corner_opencv} 
  )


#=======================================================
#
#     CUSTOM LIBRARIES
#
#
#=======================================================
PROJECT(VOLCANO)
SET(SRC ${VOLCANO_SOURCE_DIR}/src)


#******* …
Run Code Online (Sandbox Code Playgroud)

c++ opencv compilation cmake ros

6
推荐指数
2
解决办法
3258
查看次数

标签 统计

c++ ×1

cmake ×1

compilation ×1

opencv ×1

ros ×1