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})  ------指定需要使用的第三方库库文件(目录)

  • 相关阅读:
    jsp 接收汉字参数乱码
    文件下载汉字乱码
    服务器端汉字乱码
    SpringMVC + ajax
    Java正确URL解码方式:URLDecoder.decode
    spring MVC 文件上传错误
    json
    android 带checkbox的List
    Incorrect string value: 'xE8x8Bx8FxE6x99xA8...' for column 'user_name' at row 1
    django初探-创建简单的博客系统(一)
  • 原文地址:https://www.cnblogs.com/yibeimingyue/p/10606867.html
Copyright © 2011-2022 走看看