去除 __FILE__ 宏定义中的路径信息 发表于 2025-02-15 分类于 daily 阅读次数: 通过编译选项去除路径信息:makefile可以增加以下编译选项:123-U__FILE__ -D__FILE__='"$(notdir $<)"' -Wno-builtin-macro-redefined或者-U__FILE__ -D__FILE__='"$(subst ($dir $<),,$<)"' -Wno-builtin-macro-redefined cmake同makefile,增加同样的编译选项:123456add_definitions(-Wno-builtin-macro-redefined)set(CMAKE_CXX_FLAGS "-U__FILE__ -D__FILE__='\"$(notdir $<)\"'")或者set(CMAKE_CXX_FLAGS "-U__FILE__ -D__FILE__='\"$(subst ($dir $<),,$<)\"'") 代码去除路径信息(可参考):12345678#include <string.h>#ifdef WIN32constexpr char _DirFlag = '\\';#elseconstexpr char _DirFlag = '/';#define __FILENODIR__ (strrchr(__FILE__, _DirFlag) ? (strrchr(__FILE__, _DirFlag) + 1) : __FILE__) 本文作者: dzw 本文链接: https://blog.dzwspace.com/article/notdir-file/ 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!