当前位置: 首页 > article >正文

一个典型的cmakelists.txt

目录结构:

TestBin/third/ffmpeg/

TestBin/src/photo/photo.cpp

TestBin/src/record/record.cpp

在编译时设定机型, 以便在代码中使用编译宏区分不同的功能等.


# mkdir build
# cd build
# cmake .. -DBIN_TARGET=target1
# make -j

cmake_minimum_required(VERSION 3.16.3)

set (CMAKE_SYSTEM_NAME Linux)
set (CMAKE_CROSSCOMPILING TRUE)

set (CMAKE_C_COMPILER gcc)
set (CMAKE_CXX_COMPILER g++)


project(TestBin)

set(CMAKE_CXX_FLAGS "-std=c++17 -O2 -g -rdynamic -Wall")

#预定义机型,全局宏,代码中无需再定义.
add_definitions(-DTARGET_TYPE_1=0x1)
add_definitions(-DTARGET_TYPE_2=0x2)

#当前编译的机型
if (${BIN_TARGET} STREQUAL "target1")
add_definitions(-DTARGET_TYPE=0x1)
else()
add_definitions(-DTARGET_TYPE=0x2)
endif()


#子目录的库输出目

http://www.kler.cn/news/337291.html

相关文章:

  • 18个Java语法糖
  • PHP 表单基础
  • erlang学习:Linux命令学习9
  • 计算机网络——DNS
  • Gitea 忘记密码解决方案
  • 基于单片机的信号选择与温度变化
  • 线性代数入门
  • Vgg16使用和修改
  • 【EXCEL数据处理】保姆级教程 000016案例 EXCEL的vlookup函数。
  • 畅享免费服务:PDF 转图片在线转换软件的魅力
  • C++(异常)
  • Redis:高性能的内存数据库
  • 机器学习:开启智能时代的钥匙
  • OpenFeign-查询参数-日期格式化:LocalDate、Date、@DateTimeFormat(低版本无效)
  • 【STM32 Blue Pill编程实例】-OLED显示DHT22传感器数据
  • [CCPC 2023 北京市赛] 图 洛谷10048
  • 墙绘艺术在线交易平台:SpringBoot技术详解
  • x++、++x的一些问题
  • EmEditor传奇脚本编辑器
  • Nginx04-核心配置文件