CMakeList 详解

2023-05-16

CMake 构建脚本是一个纯文本文件,您必须将其命名为 CMakeLists.txt,并在其中包含 CMake 构建您的 C/C++ 库时需要使用的命令。如果您的原生源代码文件还没有 CMake 构建脚本,您需要自行创建一个,并在其中包含适当的 CMake 命令。

添加so库

可以用你写的cpp源文件生成一个so

add_library( # Specifies the name of the library.
                 native-lib

                 # Sets the library as a shared library.
                 SHARED

                 # Provides a relative path to your source file(s).
                 src/main/cpp/native-lib.cpp )

也可以直接导入已有的库(import)

add_library( imported-lib
                 SHARED
                 IMPORTED )
set_target_properties( # Specifies the target library.
                           imported-lib

                       # Specifies the parameter you want to define.
                         PROPERTIES IMPORTED_LOCATION

                       # Provides the path to the library you want to import.
                         imported-lib/src/${ANDROID_ABI}/libimported-lib.so )

使用 include_directories() 命令并包含相应头文件的路径,使CMake 能够在编译时定位你的头文件:

include_directories( imported-lib/include/ )

设置接口库对第三方库的链接,其中第一个参数为接口库,后面参数为第三方库

target_link_libraries(libimported-lib)

一个简单的CMakeList.txt 例子

cmake_mini_required(VERSION 3.4.1)  #定义cmake 支持的版本

project(my_proj)  #项目名

include_directories(include)  #头文件路径

aux_source_directory(src DIR_SOURCE) #源文件目录,DIR_SOURCE 为定义的变量

set(SRC_FILE_PATH ${DIR_SOURCE})  #设置环境变量,编译用到的源文件都要放到这里

add_executable(my_proj ${SRC_FILE_PATH})  #设置可执行源文件编译成的可执行文件名

 

未完待续........

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CMakeList 详解 的相关文章

  • CMake 使用方法 & CMakeList.txt

    转载自 xff1a https blog csdn net u012150179 article details 17852273 CMake 使用方法 amp CMakeList txt cmake 简介 CMake是一个跨平台的安装 编
  • 关于package.xml和CMakeList.txt的解读

    关于package xml和CMakeList txt的解读 前言一 关于package xml文件的讲解 xff1f 二 关于CMakeList txt文件的讲解1 必需的CMake版本 xff1a cmake minimum requi
  • CMakeList添加指定路径的库和头文件

    网上东一榔头西一棒槌的太多了 xff0c 而且不完整 xff0c 不适合对CMakeLists txt不了解的新手 一下两方法实测有效 一 方法一 包含ffmpeg头文件路径 这里以CMakeLists txt为参考路径 span clas
  • CMakeList增加make install

    要在CMakeList txt文件中增加make install和make clean指令 xff0c 可以在CMakeList txt文件中添加以下代码 xff1a 添加安装文件 span class token function ins
  • CMakelist.txt文件中常用部分最通俗易懂的解析(示例+解析)

    链接库是什么 xff1f 计算机中 xff0c 有些文件专门用于存储可以重复使用的代码块 xff0c 例如功能实用的函数或者类 xff0c 我们通常将它们称为库文件 xff0c 简称 库 xff08 Library xff09 myMath
  • CMakeList使用总结

    一 cmake功能介绍 cmake是跨平台编译工具 xff0c 编写简单好维护 xff0c 是make的高级用法 1 编写CMakeList txt文件 通过cmake生成Makefile文件 xff0c make生成可执行文件 静态库 共
  • C++工程,CMakelist.txt,CMake添加所有头文件,CMake递归添加头文件,CMake查找所有源文件

    CMakelist txt cmake minimum required span class token punctuation span VERSION 3 5 span class token punctuation span pro
  • ROS::CmakeList 例子

    ROS CmakeList 例子 span class token function cmake minimum required span span class token punctuation span VERSION span cl
  • CMakeList.txt使用指南

    cmake minimum required 设置所需的最低cmake版本 cmake minimum required VERSION major minor patch tweak FATAL ERROR execute process
  • CMakeList 详解

    CMake 构建脚本是一个纯文本文件 xff0c 您必须将其命名为 CMakeLists txt xff0c 并在其中包含 CMake 构建您的 C C 43 43 库时需要使用的命令 如果您的原生源代码文件还没有 CMake 构建脚本 x
  • ROS的CMakeList编写

    参考这位博主 我的cmakelist包 在 home xxx catkin Drone src Flight Control ROS CMakeLists txt cmake minimum required span class toke
  • CMakeList静态库多层嵌套问题 undefined reference to

    前言 被一个问题缠绕了很长时间 xff0c 这两天花精力好好研究了一下 xff0c 总算解决了 xff0c 翻过来看 xff0c 就是自己不注意造的很多小问题 我的想法是把一些代码封装起来 xff0c 但是有些部分要求能让现场工作同事有一定
  • 关于ROS包中CMakeList.txt中几个常用的命令的作用 ——————(一)

    目录 xff08 1 xff09 find package catkin REQUIRED COMPONENTS 2 include directories 3 add executable src1 src2 xff08 简易写法 xff
  • cmakeList编译protobuf.pb.h时报错fatal error: google/protobuf/port_def.inc: No such file or directory

    写一个protobuf文件 xff0c 编译后会生成两个文件一个 cc和一个 h文件 export LD LIBRARY PATH 61 usr local lib protoc cpp out 61 forward protobuf pr
  • Pixhawk学习1——CMakeList.txt的解析

    在PX4的工程文件中 xff0c src modules下是具体的飞控代码 里面主要包含了传感器采集 姿态结算 姿态控制 xff0c 位置结算 位置控制等程序模块 在进行二次开发时 xff0c 需要添加的模块也是在这个文件夹里 每个文件夹里
  • CmakeList语法介绍引入Vcpkg与使用Vcpkg导入Opencv

    简单CmakeList txt内容 欢迎使用Markdown编辑器 cmake minimum required VERSION 3 11 引入vcpkg set CMAKE TOOLCHAIN FILE 34 CMAKE SOURCE D
  • CMake&CMakeList.txt

    1 各种关系 在各种开源项目中 xff0c 经常会发现项目中除了代码源文件 xff0c 还包含了 CMakeList txt Makefile 文件 xff0c 在项目的编译时候需要用到的命令有 cmake make 我们本次想搞清楚他们之
  • CMakeList.txt写法

    ROS 创建并运行一个c 43 43 的demo xyzxyz576的博客 CSDN博客 目录 样例 解释如下 1 确定cmake最低版本需求 2 确定工程名 3 添加需要的库 4 添加需要的头文件 5 确定编译语言 6 设定变量 7 添加
  • 关于makefile与CMakeList的理解

    为了编译某一工程中的众多 c文件搞出来一个makefile可以批量编译 xff1b Linux下用Cmake也即CMakeLists txt文件 作者写的很清晰易懂
  • CMakeList

    目录 1 简介 2 常用命令 2 1 指定 cmake 的最小版本 2 2 设置项目名称 2 3 设置编译类型 2 4 指定编译包含的源文件 2 4 1 明确指定包含哪些源文件 2 4 2 搜索所有的 cpp 文件 2 4 3自定义搜索规则

随机推荐