只打印文名

CMakeLists.txt

c 复制代码
set(CMAKE_C_FLAGS "-O0 -ggdb -D__NOTDIR_FILE__=$(notdir $<)")
// set(CMAKE_C_FLAGS "-O0 -ggdb -D__NOTDIR_FILE__=$(notdir $<) -D__FILENAME__=$(subst $(dir $<),,$<)")

C文件

c 复制代码
#include <stdio.h>

#ifdef __NOTDIR_FILE__
#define M2STR(x) #x
#define M2STR_IMPL(x) M2STR(x)
#define __BFILE__ M2STR_IMPL(__NOTDIR_FILE__)
#else
#define __BFILE__ __FILE__
#endif

void hello()
{
	printf("[%s:%s: %d] hello word\n", "123123", __BFILE__, __LINE__);
}

结果

c 复制代码
liuwen@liuwen-VirtualBox:~/test/cmake/02-1-use_static_lib/build$ ./static_use
[123123:hello.c: 18] hello word
相关推荐
xyq20242 分钟前
Redis 列表(List)
开发语言
you-_ling6 分钟前
线程及进程间通信
java·开发语言
Sunsets_Red12 分钟前
P8277 [USACO22OPEN] Up Down Subsequence P 题解
c语言·c++·算法·c#·学习方法·洛谷·信息学竞赛
yuan1999716 分钟前
基于C#实现的专业级DXF文件显示控件
windows·microsoft·c#
weixin_3954489127 分钟前
build_fsd_luyan_from_rm.py-cursor0225
开发语言·python
tod11329 分钟前
OS 核心知识点全解析(一)
linux·开发语言·面试经验
kylezhao201938 分钟前
C#中的反射是什么?详细讲解以及在工控上位机中如何应用
java·开发语言
知我Deja_Vu1 小时前
详解 Lists.newArrayList() 的作用
java·开发语言
Andy Dennis1 小时前
Java语法注意事项
java·开发语言·jvm
金刚狼881 小时前
qt和qt creator的下载安装
开发语言·qt