zoukankan      html  css  js  c++  java
  • cmake的使用方法

    cmake的主要特点:

    1.跨平台,并可生成 native 编译配置文件,在 Linux/Unix 平台,生成 makefile,在 苹果平台,可以生成 xcode,在 Windows 平台,可以生成 MSVC 的工程文件。

    来源:https://www.cnblogs.com/hoojjack/p/3849537.html


    CMakeLists.txt剖析
    cmake_minimum_required命令

    cmake_minimum_required (VERSION 2.6)

    规定cmake程序的最低版本。这行命令是可选的,我们可以不写这句话,但在有些情况下,如果CMakeLists.txt文件中使用了一些高版本cmake特有的一些命令的时候,就需要加上这样一行,提醒用户升级到该版本之后再执行cmake。

    project命令

    project (CRNode)

    指定项目的名称。


     一个例子:

    CMAKE_MINIMUM_REQUIRED(VERSION 2.6) #cmake最低版本需求,不加入此行会受到警告信息

    PROJECT(HELLO) #项目名称  

    AUX_SOURCE_DIRECTORY(. SRC_LIST) #把当前目录(.)下所有源代码文件和头文件加入变量SRC_LIST

    ADD_EXECUTABLE(hello_ceshi ${SRC_LIST}) #生成应用程序 hello_ceshi,定义了这个工程会生成一个文件名为hello的可执行文件,相关的源文件是SRC_LIST中定义的源文件列表, 本例中你也可以直接写成ADD_EXECUTABLE(hello main.c)。


     一个CMakeLists.txt文件:

    cmake_minimum_required(VERSION 2.8 FATAL_ERROR)

    project(project_marking_cluster)

    find_package(PCL 1.2 REQUIRED)------查找第三方库PCL 1.2,因为PCL 1.2是必须的

    include_directories(${PCL_INCLUDE_DIRS})  ------指定需要使用的第三方库头文件目录
    link_directories(${PCL_LIBRARY_DIRS})
    add_definitions(${PCL_DEFINITIONS})

    add_executable (project_marking_cluster project_marking_cluster.cpp)
    target_link_libraries (project_marking_cluster ${PCL_LIBRARIES})  ------指定需要使用的第三方库库文件(目录)

  • 相关阅读:
    send和sendmsg性能测试【sendmsg和send的性能基本一样,并没有得到优化】
    send和sendmsg性能测试
    SparkException: Master removed our application
    大数据入门:各种大数据技术介绍
    78 subsets
    C、C ++的内存模型
    将博客搬至CSDN
    适配器模式
    建造者(Builder)模式
    桥接模式
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/10606867.html
Copyright © 2011-2022 走看看