首页 > 其他分享 >6. 打印日志信息

6. 打印日志信息

时间:2024-07-15 10:40:44浏览次数:7  
标签:CMake source 打印 信息 PROJECT SOURCE 日志 message DIR

6. 打印日志信息

在CMake中可以用用户显示一条消息,该命令的名字为message:

message([STATUS|WARNING|AUTHOR_WARNING|FATAL_ERROR|SEND_ERROR] "message to display" ...)
  • (无):重要信息
  • STATUS:非重要信息
  • WARNING:CMake 警告,会继续执行
  • AUTHOR_WARNING:CMake 警告 (dev), 会继续执行
  • SEND_ERROR:CMake 错误, 继续执行,但是会跳过生成的步骤
  • FATAL_ERROR:CMake 错误, 终止所有处理过程

CMake 的命令行工具会在 stdout 上显示 STATUS 消息,在 stderr 上显示其他所有消息。CMake的 GUI 会在它的 log 区域显示所有消息。

CMake 警告和错误消息的文本显示使用的是一种简单的标记语言。文本没有缩进,超过长度的行会回卷,段落之间以新行做为分隔符。

输出一般日志信息

# 输出一般日志信息
message(STATUS "source path: ${PROJECT_SOURCE_DIR}")

将构建目录的文件清空,重新构建一次:

image-20231202130400799

可以看到,上面 source path: /home/yuzu/cmake_proj/proj5 就是我们要打印的信息

输出警告信息

# 输出警告信息
message(STATUS "source path: ${PROJECT_SOURCE_DIR}")

将构建目录的文件清空,重新构建一次:

image-20231202130506852

这里显式的就是警告信息了,CMake会继续执行,但是跳过生成的步骤

输出错误信息

# 输出错误信息
message(FATAL_ERROR "source path: ${PROJECT_SOURCE_DIR}")

image-20231202130808409

此时 CMake 不会继续执行处理过程,而是终止

这里我使用的 CMakeLists.txt :

cmake_minimum_required(VERSION 3.17)
project(CALC_TEST)
set(CMAKE_CXX_STANDARD 11)

set(EXECUTABLE_OUTPUT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/bin)

include_directories(${PROJECT_SOURCE_DIR}/include)
file(GLOB SRC_LIST ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)

# 指定链接动态库的目录
link_directories(${PROJECT_SOURCE_DIR}/lib)

add_executable(main ${SRC_LIST})

target_link_libraries(main calcso pthread)

# 输出一般日志信息
# message(STATUS "source path: ${PROJECT_SOURCE_DIR}")
# 输出警告信息
# message(WARNING "source path: ${PROJECT_SOURCE_DIR}")
# # 输出错误信息
# message(FATAL_ERROR "source path: ${PROJECT_SOURCE_DIR}")

使用的工程还是先前的:

tree . -L 2
.
├── CMakeLists.txt
├── bin
│   └── main
├── build
│   ├── CMakeCache.txt
│   ├── CMakeFiles
│   ├── Makefile
│   └── cmake_install.cmake
├── include
│   └── head.h
├── lib
│   └── libcalcso.so
├── main.cpp
└── src
    ├── add.cpp
    ├── div.cpp
    ├── mul.cpp
    └── sub.cpp

6 directories, 12 files

标签:CMake,source,打印,信息,PROJECT,SOURCE,日志,message,DIR
From: https://www.cnblogs.com/kobayashilin1/p/18302668

相关文章

  • Java计算机毕业设计的乡村信息化管理系统的设计与实现(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,信息化已成为推动社会进步和经济发展的重要力量。在乡村振兴战略的背景下,乡村信息化管理系统的建设显得尤为重要。传统乡村管......
  • Java计算机毕业设计的党员信息数据可视化分析平台(开题报告+源码+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景在信息化高速发展的今天,党员管理作为党的建设的重要组成部分,正面临着数据量大、信息复杂、分析难度高等挑战。传统的党员信息管理方式往往依赖于纸质......
  • Grafana+Loki+Promtail 日志监控
    Grafana+Loki+Promtail日志监控原创 Jruing 佛系内卷写代码 2024年07月06日17:30 北京 2人听过前置工作用户组(按需创建)GrafanaLokiLoki配置文件Promtail配置文件配置数据源创建仪表盘添加查询项 前置工作Centos7关闭防火......
  • 【攻防实操系列】phpStudy日志探索
    #phpStudy#应急响应#靶场搭建工具phpStudy一、攻击者的shell密码在桌面看到phpStudy,右键选择“打开文件所在的位置”,获得phpStudy路径:C:\phpStudy_pro。使用D盾在phpStudy路径下查找webshell,获得webshell路径:C:\phpStudy_pro\WWW\content\plugins\tips\shell.php。打......
  • 身份证信息查找
    身份证信息查看publicclass身份证信息查看{publicstaticvoidmain(String[]args){/*7-14位是出生年月日16位是性别↓任务信息为:出生年月日:×××年××月××日性别:(男/女)*/......
  • BT面板去除商业推广信息
    宝塔在7.8版本加入了强制绑定账户,页面元素的限制倒也还好,很简单就能去除,可问题是软件商店的接口加入了登录校验,没登录的情况下获取不到软件列表自然也就无法安装软件了,长远看来用户绑定是必不可少了。当时只是一个强制绑定问题,可万万没想到升级到7.9版本后,首页加入了广告:对专......
  • 抖音视频图文根据ID获得评论信息网站源码
    抖音视频图文根据ID获得评论信息单页源码,id是视频的id,可以自定义第几条评论开始,不填默认为0,评论数量最大数量50,默认是20。 接口返回参数:"comments":评论信息集合{"uid":评论者用户uid,"reply_to_reply_id":被回复的回复的评论id,"sec_id":评论者用户secid,"create......
  • PostgreSQL日志文件配置,记录所有操作记录
    为了更详细的记录PostgreSQL的运行日志,我们一般需要修改PostgreSQL默认的配置文件,这里整理了一些常用的配置修改配置文件打开PostgreSQL配置文件postgresql.conf。该文件通常位于PostgreSQL安装目录下的data文件夹中。找到并修改以下配置项:logging_collector......
  • 简单的ATM 注册,登录,存钱,取钱,管理员查看 功能的实现,register(注册方法),login(登录方法),lo
    1.main()方法publicclasstest{publicstaticvoidmain(String[]args){ArrayList<people>people=newArrayList<>();Scannerscanner=newScanner(System.in);while(true){System.out.println("......
  • 0176-打印错误提示信息
    环境Time2022-11-12WSL-Ubuntu22.04QEMU6.2.0NASM2.15.05前言说明参考:https://os.phil-opp.com/entering-longmode//目标为了方便在出错的时候,看到错误代码,新增一个打印错误代码的函数。汇编代码section.multiboot_headerheader_start:dd0x1BADB002;......