我正在使用GCC编译器,我想使用__FILE__
打印文件的完整路径,但GCC只显示文件的名称。在MSVC中是相同的,但您可以使用参数/FC (Full Path of Source Code File in Diagnostics)并且它可以工作。是否有与GCC相同的东西?
int main(int argc, char ** argv)
{
std::cout << __FILE__ << std::endl;
return 0;
}
答案 0 :(得分:3)
我找不到任何等价物,但我意识到__FILE__
宏通过预处理器用来打开文件的路径扩展到当前输入文件的名称。所以它将取决于传递给编译器的内容。
我使用CMake
作为构建系统解决了它。当CMake
创建MakeFile时,它会使用变量CMAKE_SOURCE_DIR
中的完整路径,这样__FILE__
将完全打印出我们期望的内容。