CMakeLists.txt笔记 OpenCV2和3共存/gdb调试

##OpenCV2和3共存:
如果2默认编译安装了,那么2的库位置应该在/usr/local/lib ,再CMakeLists.txt中 find_package,系统默认会找/usr/local/share/OpenCVConfig.cmake
再下载3源码,解压后

mkdir build
cd build 

更改安装目录(先在/usr/local下新建文件夹opencv3)

cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=/usr/local/opencv3 ..

编译:

make -j 
sudo make install

这样就把3安装在opencv3文件夹了(bin lib share include)

在使用的时候,在CMakelists.txt中,如要用3,在find_package前指明路径:

set(OpenCV_DIR /usr/local/opencv3/share/OpenCV)
find_package(OpenCV 3 REQUIRED)

用2的时候:

find_package(OpenCV 2 REQUIRED)

##如果要用gdb调试,需要在txt中:

SET(CMAKE_BUILD_TYPE "Debug")

不过这样会减慢编译速度

##如果要用C++11:

add_definitions(-std=c++11)

##最简单的流程:

cmake_minimum_required(VERSION 2.8)
project(XXX)
#指定编译器:
SET(CMAKE_C_COMPILER g++)
#找到要用的包:
find_package(OpenCV 3 REQUIRED)	
include_directories(
${PROJECT_SOURCE_DIR}
#其他头文件路径
)
#创建库:
add_library(${PROJECT_NAME} SHARED
XXXXX.cpp
)
\#给库链接到开源库
target_link_libraries(${PROJECT_NAME}
${OpenCV_LIBS}
)
#生成可执行文件,链接到创建的库
add_executable(main main.cpp)
target_link_libraries(main ${PROJECT_NAME})


##eigen的使用
首先需要在根目录

 mkdir cmake_modules

并在cmake_modules里放进 FindEigen3.cmake文件
然后:

set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)
#或者 LIST(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake_modules)
find_package(Eigen3 REQUIRED)
include_directories(     ${EIGEN3_INCLUDE_DIR}   )
  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值