MSVC / FA GCC等效

时间:2014-09-19 21:54:32

标签: c++ c visual-c++ gcc c++11

我正在使用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;
}

1 个答案:

答案 0 :(得分:3)

我找不到任何等价物,但我意识到__FILE__宏通过预处理器用来打开文件的路径扩展到当前输入文件的名称。所以它将取决于传递给编译器的内容。

我使用CMake作为构建系统解决了它。当CMake创建MakeFile时,它会使用变量CMAKE_SOURCE_DIR中的完整路径,这样__FILE__将完全打印出我们期望的内容。