更正Visual C ++ __FILE__宏的情况

时间:2014-07-14 06:49:29

标签: c++ visual-studio-2010 qt

this问题相关。

我们有一个代码生成工具(用于跨平台C ++源文件),我需要更正____FILE____宏返回的路径以获得正确的大小写,以便在Windows下生成的源文件仍然可以在区分大小写的系统上编译(例如.Linux和OSX)。

我使用Qt并尝试了一些QFileInfo和QDir的组合,但它们似乎都保持小写路径传递给它。

有什么建议吗?

由于

2 个答案:

答案 0 :(得分:0)

我有一些建议,但我不确定它是否有用。

  1. 如果你还没有尝试过这个。使用QDir在目录中搜索正确的路径。

    例如,假设您要包含文件“C:/Programming/myProject/oneSource.cpp”,然后执行以下操作:将传入路径拆分为“c:”,“programming”,“myproject” ,“onesource.cpp”。

    然后你使用QDir通过“C:”搜索一个文件夹(忽略大小写)匹配“编程”,但使用从QDir返回的路径。冲洗并重复。这样你就不会真正向QT传递任何错误的路径,它只会使用它本地读取的路径。

  2. 尝试完全相同的事情,但使用不同的库,如dirent甚至是原生的Windows API。

答案 1 :(得分:0)

您知道工具中的文件名,因此根本没有理由使用__FILE__宏。只需将正确的文件名作为字符串文字发出。