在VS2008中为__FILE__打印了完整路径名

msk*_*her 5 c++ filenames path visual-studio-2008

我们的代码用于__FILE__在日志文件中打印代码位置.
我们的意图是__FILE__只打印文件名的所有实例,没有路径.

但是,我们只是注意到,虽然源(.cpp文件)只是正确打印文件名,但标题(.h文件)打印完整路径.这暴露了我们的构建服务器在客户安装上的路径,这充其量令人困惑.

我研究了/FC(完整路径名)编译选项以及它/ZI/Zi(调试信息生成)编译选项的关系.简短版 - /ZI暗示/FC.我们目前正在使用/Zi,但我们没有使用/ZI或者/FC,所以我们应该没问题.

我们正在使用项目范围的预编译头(PCH),但PCH中没有包含任何头文件__FILE__,因此这似乎无关紧要.

这里发生了什么?
我可能触发了潜在的编译选项吗?
有没有人知道一个不涉及调用运行时字符串操作函数的解决方法?

Han*_*ant 1

在本反馈文章中,这被断言为“设计使然” 。考虑一个后处理步骤,按照您想要的方式修改路径。