笔记:vs使用cmake自动添加opencv和boost(MFC使用cmake建立工程)

 To find boost libs

CMake:How To Find Libraries

http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries


cmake_minimum_required(VERSION 2.8)
set(Boost_INCLUDE_DIR /usr/local/src/boost_1_46_1)
set(Boost_LIBRARY_DIR /usr/local/src/boost_1_46_1/stage/lib)
find_package(Boost COMPONENTS system filesystem REQUIRED)
include_directories(${Boost_INCLUDE_DIR})
link_directories(${Boost_LIBRARY_DIR})

add_executable(main main.cpp)
target_link_libraries( main ${Boost_LIBRARIES} )




To find opencv libs:


windows 和 linux 写法有点不一样。

bgs中的CMakeLists用find_package(opencv REQUIRED)来定位opencv。新版本OpenCV用FindOpenCV.cmake的命名规则(module mode),或者OpenCVConfig.cmake(config mode)。

解决:

bgs的CMakeLists中,opencv--->OpenCV!!!

cmake 自动找到 /usr/local/share/OpenCV/OpenCVConfig.cmake。

本机上有两个opencv版本。/usr/local/share/OpenCV/OpenCVConfig.cmake (2.4.6) 和/usr/local/share/opencv/OpenCVConfig.cmake (2.1.0 zombie)


看里面的变量名字,可能不一样,大小写不一定一致




如果是一个mfc工程,需要做如下的修改:

项目目录下新建CMakeLists.txt,写入

cmake_minimum_required (version 2.6) 
project (test1) 
set (test1_VERSION_MAJOR 1) 
set (test1_VERSION_MINOR 0) 
add_definitions(-DUNICODE -D_UNICODE) 
add_definitions(-D_AFXDLL) 
set(CMAKE_MFC_FLAG 1) 
add_executable(test1 WIN32 MfcDialogTest.cpp MfcDialogTestDlg.cpp stdafx.cpp MfcDialogTest.rc) 
打开命令提示符,进入到项目目录,运行cmake -G "Visual Studio 10" .,生成test1.sln和其他关联文件,打开test1.sln,编译

add_definitions(-DUNICODE -D_UNICODE) 默认字符串用UNICODE
set(CMAKE_MFC_FLAG 1) 静态链接mfc







  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值