码迷,mamicode.com
首页 > 其他好文 > 详细

01-cmake语法-基本

时间:2018-04-18 14:22:23      阅读:141      评论:0      收藏:0      [点我收藏+]

标签:debug   cmake   这一   结合   静态库   静态   gen   home   .cpp   

本系列随笔将结合 OpenCV 的 CMakeLists.txt 来讲解 cmake 的语法。

 

这一节,主要介绍一下cmake语法的基本语法。

 

cmake语法的基本语法

# 执行
cmake . # 表示在当前目录下执行 cmake
cmake .. # 表示在前一级目录下执行 cmake
make # 在当前目录下执行 make


# 语法
#1 设置 cmake 版本需求
cmake_minimum_required(VERSION 2.8)

#2 设置工程名
project( 工程名 )

#3 生成可执行文件
add_executable( 可执行文件名 cpp文件 )

#4 生成静态库
add_library( helloSLAM helloSLAM.cpp )

#5 生成共享库
add_library( helloSLAMShared SHARED helloSLAM.cpp )

#6 链接可执行文件,xx.o
target_link_libraries(helloSLAM /home/chan/projects/SLAM/build_lib/libhelloSLAM.a)

#7 设置Debug模式
set( CMAKE_BUILD_TYPE "Debug" )

  

给出例子:

1. 文件名“helloSLAM.cpp”,编译的可执行文件名为“helloSLAM”,不指定,默认为“a”。

Linux 下可执行文件没有后缀名。

# cmake version requirment
cmake_minimum_required(VERSION 2.8)

# project name.
project( helloSLAM )

# generate exectuable file.
add_executable( helloSLAM helloSLAM.cpp )

  

2. 文件名“helloSLAM.cpp”,编译生成 静态库 ,后缀名“.a”

# cmake version requirment
cmake_minimum_required( VERSION 2.8 )


# project name.
project( helloSLAM )

# generate library file.
add_library( helloSLAM libHelloSLAM.cpp )

  

3. 文件名“helloSLAM.cpp”,编译生成 分享库(不叫动态库) ,后缀名“.a”

# cmake version requirment
cmake_minimum_required( VERSION 2.8 )


# project name.
project( helloSLAM )

# generate library file.
add_library( helloSLAMShared SHARED libHelloSLAM.cpp )

  

4. 加载静态库/分享库,生成可执行文件。

# cmake version requirment
cmake_minimum_required(VERSION 2.8)

# project name.
project( helloSLAM )

# generate exectuable file.
add_executable( helloSLAM helloSLAM.cpp )

target_link_libraries(helloSLAM /home/chan/projects/SLAM/build_lib/libhelloSLAM.a)

  

 

本节参考来自高博《视觉SLAM14讲》。

部分操作,可参考我的github:

https://github.com/Chenhui2018/SLAM/blob/master/notes/SLAM%E7%AC%94%E8%AE%B01%EF%BC%9A%E6%96%B0%E5%BB%BA%E5%B7%A5%E7%A8%8B%E5%92%8Ccmake.md

01-cmake语法-基本

标签:debug   cmake   这一   结合   静态库   静态   gen   home   .cpp   

原文地址:https://www.cnblogs.com/alexYuin/p/8874304.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!