与this问题相关。
我们有一个代码生成工具(用于跨平台C ++源文件),我需要更正____FILE____宏返回的路径以获得正确的大小写,以便在Windows下生成的源文件仍然可以在区分大小写的系统上编译(例如.Linux和OSX)。
我使用Qt并尝试了一些QFileInfo和QDir的组合,但它们似乎都保持小写路径传递给它。
有什么建议吗?
由于
答案 0 :(得分:0)
我有一些建议,但我不确定它是否有用。
如果你还没有尝试过这个。使用QDir在目录中搜索正确的路径。
例如,假设您要包含文件“C:/Programming/myProject/oneSource.cpp”,然后执行以下操作:将传入路径拆分为“c:”,“programming”,“myproject” ,“onesource.cpp”。
然后你使用QDir通过“C:”搜索一个文件夹(忽略大小写)匹配“编程”,但使用从QDir返回的路径。冲洗并重复。这样你就不会真正向QT传递任何错误的路径,它只会使用它本地读取的路径。
尝试完全相同的事情,但使用不同的库,如dirent甚至是原生的Windows API。
答案 1 :(得分:0)
您知道工具中的文件名,因此根本没有理由使用__FILE__
宏。只需将正确的文件名作为字符串文字发出。